我使用下面的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
的值应该在上下文中找到。