如何访问struts标签的嵌套标签?



我使用下面的JavaScript代码来设置元素的值。

document.getElementById('alert['+i+']').innerHTML = "alert";

元素嵌套在Struts set标记中。(ID匹配,故障不在此)

<s:set var="alert" >
<span id="<s:property value='"alert"+{#stat.index+4}' />"></span>
</s:set>

设置标签var是由Struts的if标签使用的。

<s:if test="%{#alert == 'alert'}">
//some code         
</s:if>

当span标签位于set标签之外时,span标签的值被设置为"alert"正确。然而,当在struts中设置标签时。无法找到span标签。

如何成功设置set标签的值?使用span标记或直接设置set标记的值。或者我是否可以以某种方式注入"警报"值直接在if标签?

我用谷歌和youtube来寻找答案。我试过把span标签直接放在if标签中。我尝试过使用document.querySelector(),但我无法让它与strut标签一起工作。

如果您在JavaScript代码中使用document.getElementById(),那么具有id的元素应该在DOM中可用。但它是不可用的,因为你把它放在Struts<s:set>标签。它不是UI标签,也不呈现任何HTML元素。

可在value属性中设置alert变量的值。它允许在那里应用OGNL表达式。

<s:set var="alert" value="%{'alert'+(#stat.index+4)}"/>
<span id="<s:property value='%{#alert}'/>">
</span>

如果你使用<s:if>标签,变量alert的值应该在上下文中找到。

最新更新