正确处理带参数的s:url标签 - 安全隐患?

时间:2012-04-02 06:39:13

标签: struts2

在我的.jsp页面中我有

<s:url id="ecu" value="ecu-info-detail">
        <s:param name="id" value="%{id}"></s:param>
        <s:param name="ecuName" value="name"></s:param>
        <s:param name="ajax" value="true"></s:param>
    </s:url>

我在sj:a标签中使用;

<li class="vMenuItem"><sj:a href="%{ecu}" requestType="GET" targets="detail"><s:property value="description"/></sj:a></li>

单击此链接时,生成的网址采用格式;

my.domain.com?id="01"&amp;ecuName="foo"&amp;ajax="true"

所以参数ecuName和ajax没有在动作上设置。现在我可以通过简单地将属性escapeAmp =“true”添加到s:url定义来解决这个问题。但是,因为Struts 2默认是为了逃避&符号,因为我不能成为唯一一个使用多个s:param标签的人,我担心escapeAmp =“true”可能不是处理这种情况的正确方法而且我是创造一个安全漏洞。

这是处理这种情况的正确方法,如果没有,我该如何处理?

问候

1 个答案:

答案 0 :(得分:0)

根据评论部分中的讨论发布答案。插件开发团队url paramerters escaped中报告了。问题。

同样的问题因我们需要转义该html的讨论而关闭,以便与Jquery标签一起使用。有关详细信息,请阅读提交的错误凭证。