7

Struts2のタグに動的action属性を指定する方法はありますか? s:form以下のようなものが欲しいです。

<c:set var="formAction" value="baseAction" />
<c:if test="${someCondition}">
     <c:set var="formAction" value="childAction" />Ac

<s:form method="post" action="${formAction}">
    <s:input....../>
    <s:select...../>
</s:form>

これは JavaScript を使用して実現できることはわかっていますが、リファクタリングは避けたいと考えています。私はスクリプトレットを使用してこれを達成しようとしましたが、問題は Struts2 タグがランタイム属性を取らないことです。OGNLでも試しましたが、どちらも役に立ちませんでした。

4

2 に答える 2

7

Struts2タグで値を設定して条件を確認し、OGNLでaction属性を入れます。

<s:set var="formAction" value="'baseAction'" />
<s:if test="some_condition">
  <s:set var="formAction" value="'childAction'" />
</s:if>

<s:form method="post" action="%{#formAction}">
  <s:input....../>
  <s:select...../>
</s:form>
于 2013-10-04T17:43:08.903 に答える