【问题标题】:Struts Upgrade to 2.5.5 ( from 2.5.3)Struts 升级到 2.5.5(从 2.5.3)
【发布时间】:2016-10-30 10:13:33
【问题描述】:

我尝试从 struts 2 版本 2.5.3 升级到 2.5.5...我遇到了一个奇怪的问题。

我们有一个标签如下:

<%@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 &lt;forEach&gt;
    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)

如您所见,该标记是 JSTL 标记而不是 struts !

我使用 Tomcat 8.0 。 任何 cmets。

【问题讨论】:

    标签: jsp struts2 jstl


    【解决方案1】:

    令人惊讶的是,我在标签中使用的parameters 名称与struts 2 冲突。似乎这个版本的struts 在上下文中定义了parameters,从而产生了名称冲突。

    当我在 jsp struts 2.5.3 中测试 ${parameters} 时,我注意到了

    当我在 jsp struts 2.5.5 中测试 ${parameters} 时,我看到了 org.apache.struts2.dispatcher.HttpParameters

    所以我将 may 标签属性重命名为params,一切都很好!

    【讨论】:

    • 这很奇怪...parameters 名称存在很长时间,可能与将类型从简单的Map 更改为HttpParameters - Map 可以为空和你可以用你的Map覆盖它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 2022-01-17
    • 2012-10-14
    • 1970-01-01
    • 2018-06-12
    • 2014-02-18
    相关资源
    最近更新 更多