Is there a way of specifying a dynamic action
attribute in the <s:form>
tag in Struts 2? I want something like the below.
<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>
I know this can be achieved using JavaScript, but I want to avoid refactoring.
I have tried achieving this using scriptlets, but the issue is that Struts 2 tags doesn't take runtime attributes. I tried even with OGNL, but it didn't help either.
Use Struts2 tags to set values and check condition and then use OGNL to put action
attribute.
<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>