Ich habe versucht, von Struts 2 Version 2.5.3
auf 2.5.5
zu aktualisieren ... Ich habe ein seltsames Problem.Struts Upgrade auf 2.5.5 (von 2.5.3)
Wir haben einen Tag wie folgt:
<%@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>
Der obige Code löst eine Ausnahme, wenn ich ein Upgrade!
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)
Wie Sie sehen, ist das Tag ein JSTL-Tag nicht struts!
Ich benutze Tomcat 8.0. Alle Kommentare.
Dies ist seltsam ... 'Parameter' Name war dort für sehr lange Zeit, vielleicht ist es mit Typ von einer einfachen' Map' zu 'HttpParameters' zu ändern - die' Map' kann leer sein und Sie können es mit überschreiben deine 'Karte'. –