在struts中,我想要一个基本URL(< s:url ...)设置一些参数(< s:param ...),然后将参数添加到URL或更改某些参数的值。例如:
<s:url action="getSomeData" id="baseDataUrl">
<s:param name="someID" value="%{currentID}"/>
</s:url>
然后我可以<s:property value="baseDataUrl" />
,它会吐出像/getSomeData.do?someID=5这样的东西。 (我保持这个例子的params简单,但你可以想象有更多的默认参数。例如,我正在处理的应用程序有3个参数,每个URL都是相同的,有两个更改。)< / p>
我希望能够在定义基本URL后添加或更改参数。我梦想着两种方法:
<s:url base="baseDataUrl" id="breadUrl">
<s:param name="bread" value="%{'toast'}"/>
</s:url>
然后<s:property value="breadUrl" />
将导致/getSomeData.do?someID=5&bread=toast。另一种方法是使用占位符定义基本URL:
<s:url action="getSomeData" id="baseDataUrl">
<s:param name="someID" value="%{currentID}"/>
<s:param name="bread" />
<s:param name="jelly" />
</s:url>
然后在我要求财产时填写:
<s:param url="baseDataUrl" name="bread" value="%{'toast'}"/>
<s:param url="baseDataUrl" name="jelly" value="%{selectedJam}"/>
所以<s:property value="baseDataUrl" />
会导致/getSomeData.do?someID=5&bread=toast&jelly=7。
s:url(http://struts.apache.org/2.0.14/docs/url.html)的文档说“动态属性允许:false”所以我想我正在冒险进入自定义标记区域。这感觉就像这样一个常见的用例(用一些参数定义基本URL,然后添加或更改其中一些),我不想重新发明轮子。搜索没有产生任何结果,但也许我不是在寻找合适的东西。我愿意接受各种各样的建议!
答案 0 :(得分:1)
以下是我能想到的几个选项
在这种方法中,你只是在最后追加字符串。