Struts 2 ognl.SecurityMemberAccess 警告
Struts 2 ognl.SecurityMemberAccess warning
在 struts 2 项目中,我在执行这样的循环时收到 ognl 警告:
<c:set var="unitArray" value="${fn:split(unit, ',')}" />
<c:forTokens items="${key}" delims="," var="name" varStatus="counter">
<s:text name="%{#attr.unitArray[#attr.counter.index]}" />
</c:forTokens>
警告是
Package of target [javax.servlet.jsp.jstl.core.LoopTagSupportStatus@353a1d92] or
package of member [public int javax.servlet.jsp.jstl.core.LoopTagSupportStatus.getIndex()] are excluded!
这能解决吗?!
您可以将状态变量的值放入值堆栈并使用它代替 JSTL 标记的状态索引。
<c:forTokens items="${key}" delims="," var="name" varStatus="counter">
<s:set var="idx">${counter.index}</set>
<s:text name="%{#attr.unitArray[#idx]}" />
</c:forTokens>
或使用相反的操作,只需将操作放入页面上下文并在 <c:out>
中使用其文本 属性。我没用过这个方法,你可以试试
在 struts 2 项目中,我在执行这样的循环时收到 ognl 警告:
<c:set var="unitArray" value="${fn:split(unit, ',')}" />
<c:forTokens items="${key}" delims="," var="name" varStatus="counter">
<s:text name="%{#attr.unitArray[#attr.counter.index]}" />
</c:forTokens>
警告是
Package of target [javax.servlet.jsp.jstl.core.LoopTagSupportStatus@353a1d92] or
package of member [public int javax.servlet.jsp.jstl.core.LoopTagSupportStatus.getIndex()] are excluded!
这能解决吗?!
您可以将状态变量的值放入值堆栈并使用它代替 JSTL 标记的状态索引。
<c:forTokens items="${key}" delims="," var="name" varStatus="counter">
<s:set var="idx">${counter.index}</set>
<s:text name="%{#attr.unitArray[#idx]}" />
</c:forTokens>
或使用相反的操作,只需将操作放入页面上下文并在 <c:out>
中使用其文本 属性。我没用过这个方法,你可以试试