1
struts 2 버전 2.5.3
에서 2.5.5
으로 업그레이드하려고했습니다. 이상한 문제가 있습니다.Struts 2.5.5에서 2.5.3으로 업그레이드
우리는 다음과 같은 태그가 :
<%@tag description="Rensders an ajax link" pageEncoding="UTF-8"%>
<%@attribute name="parameters" description="list of parameters that put to this link"
type="java.util.HashMap" required="false"%>
..............
<c:forEach items="${parameters}" var="p">
<c:param name="${p.key}" value="${p.value}"/>
</c:forEach>
위의 코드는 내가 업그레이드 예외가 발생합니다!
Caused by: javax.servlet.jsp.JspTagException: Don't know how to iterate over supplied "items" in <forEach>
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:274)
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:238)
at org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155)
at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256)
at org.apache.jsp.tag.web.html.link_tag._jspx_meth_c_005fforEach_005f0(link_tag.java:439)
at org.apache.jsp.tag.web.html.link_tag._jspx_meth_c_005furl_005f0(link_tag.java:405)
at org.apache.jsp.tag.web.html.link_tag._jspx_meth_sec_005fauthorize_005f0(link_tag.java:366)
at org.apache.jsp.tag.web.html.link_tag.doTag(link_tag.java:230)
태그가 Struts가 아닌 JSTL 태그임을 확인한 것처럼!
톰캣 8.0을 사용합니다. 의견.
이것은 이상합니다 ...'parameters' name은 매우 오랫동안 존재 했었습니다. 단순한'Map'에서'HttpParameters'로 타입을 바꾸는 것과 관련이 있습니다 -'Map'은 비어있을 수 있고 그것을 무시할 수 있습니다. 당신의'지도'. –