2

要素のアクション属性で使用する必要がある<s:url>ような URL を作成するために使用しています。removeAction.action?id=10<s:form>

ここでの問題は、が要素に<s:form>変換されたときに<form>、action 属性の値が としてしか表示されないことaction="/project/removeAction.action"です。id パラメータがトリミングされています。欲しかった結果はaction="/project/removeAction.action?id=10"

<s:url var="actionUrl" action="removeAction" includeContext="false">
  <s:param name="id" value="%{id}" /> 
</s:url>

<s:form action="%{actionUrl}" method="post" enctype="multipart/form-data" >
 <div>
  <s:file name="imgUpload"/>
  <s:submit> upload </submit>
 </div>
</s:form>

最近、struts2 コア バージョンを 2.3.12 にアップグレードしましたが、この問題が発生しています。この問題は、バージョン 2.3.4.1 以降で発生します

hiddenまた、アップロードするファイルのサイズが大きくなると、このパラメーターが失われるため、属性を使用してパラメーターを渡したくありません。

これに対する解決策はありますか?

4

3 に答える 3

0

ワイルドカードマッピングを使用できるかもしれません

<action name="removeAction\\*" class="..">

</action>

そして、id を URL の一部として渡します。例: removeAction/101

http://struts.apache.org/release/2.3.x/docs/wildcard-mappings.htmlを参照してください。

于 2013-04-13T09:13:27.993 に答える