這裏是我的代碼:爲什麼我的參數值在生成的URL中丟失?
<s:iterator value="ChapterTreeList" id="chapterTree">
...
<s:url
id="deployChaptersUrl"
action="ajaxDeployChapter"
includeContext="false">
<s:param
name="nodeId"
value="%{#chapterTree.nodeId}"/>
</s:url>
<s:form
id="deployChapters%{#chapterTree.nodeId}"
action="%{deployChapterUrl}"
theme="simple"
method="POST">
</s:form>
...
</s:iterator>
我想到多種形式像下面這樣:
<form
id="deployChapters27623"
name="deployChapters27623"
action="/path/to/ajaxDeployChapter.action?nodeId=27623" <-- nodeId here
method="POST">
</form>
而是我得到的形式是這樣的:
<form
id="deployChapters27623"
name="deployChapters27623"
action="/path/to/ajaxDeployChapter.action" <-- nodeId is missing here
method="POST">
</form>
的Struts 2.3.15.1
使用隱藏的形式,而不是網址使用參數字段。 –
請參閱http://stackoverflow.com/q/21478791/1700321。 –
在迭代器上也使用'var'而不是'id'(已棄用),並將ASAP至少遷移到* 2.3.15.3或更高版本至2.3.16.1,因爲從2.0.0到2.3.15.2,Struts版本會受到影響最近發現的安全問題。 –