【问题标题】:passing parameters to urls in struts2?将参数传递给struts2 中的url?
【发布时间】:2010-12-22 09:03:17
【问题描述】:

我正在处理一个 struts2 项目,我需要通过 url 传递参数...这是我编写的代码

<s:url action="submit/CalculatePoints" includeParams="get" var="playerX" >
    <s:param name="winnerNo" value="player2"/>

它被以下代码引用

<a href="<s:property value="#playerX" />">

我希望链接的标记是

submit/CalculatePoints?winnerNo=palyer2

但是我没有得到查询字符串部分。还没有根据How to access url parameters in struts2 填充action 类中的属性winnerNo

请告诉我哪里出错了?

【问题讨论】:

    标签: java struts2


    【解决方案1】:

    Player2 不是作为字符串进行评估,而是 OGNL 表达式简单地引用 Player2,问题将得到解决。

    IE:

    <s:url action="submit/CalculatePoints" includeParams="get" var="playerX" >
        <s:param name="winnerNo" value="'player2'"/>
    </s:url>
    

    【讨论】:

    • +1。我不清楚为什么它只拾取数字而不是任何字符串的值。非常感谢!
    【解决方案2】:

    struts documentation for &lt;s:url&gt; 这么说:

    includeParams 属性可能有 值 'none'、'get' 或 'all'

    由于您将此属性设置为“true”,因此标签似乎被忽略了。 此外,您必须将 escapeAmp 属性设置为“false”。 (我假设你在代码的其他地方有一个结束 &lt;/s:url&gt;)。

    【讨论】:

    • 是property标签的值,因为url标签的var属性中指定的url名称。我认为您编写的这个标签是针对将使用 url 呈现的页面的。我已经修改了问题以避免混淆
    • 我的错。我实际上确实感到困惑;)我将编辑我的答案以解决您的问题。
    • 我在上面添加了更多信息。
    • 我仍然无法获得输出
    • 嗯,你现在应该。我已经对文档进行了三重检查。您是否尝试过重新启动服务器或删除服务器目录中已编译 JSP 的 .class 文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 2017-12-03
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多