【发布时间】:2010-02-10 04:43:07
【问题描述】:
在 struts 中,我希望使用一些参数( 然后我可以执行 我希望能够在定义该基本 URL 后添加或更改参数。我正在构思两种方法: 然后 然后在我要房产时填写: 所以 s:url (http://struts.apache.org/2.0.14/docs/url.html) 的文档说“允许动态属性:false”,所以我想我正在冒险进入自定义标签领域。这感觉就像一个我不想重新发明轮子的常见用例(使用一些参数定义一个基本 URL,然后添加或更改其中一些)。搜索没有产生任何结果,但也许我不是在寻找正确的东西。我愿意接受各种各样的建议!<s:url action="getSomeData" id="baseDataUrl">
<s:param name="someID" value="%{currentID}"/>
</s:url>
<s:property value="baseDataUrl" />,它会输出类似 /getSomeData.do?someID=5 的内容。 (我在这个例子中保持参数简单,但是你可以想象有更多的默认参数。例如,我正在处理的应用程序有 3 个参数对于每个 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。
【问题讨论】: