有没有办法在 Struts 2 的
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 来实现,但我想避免重构。
我尝试使用 scriptlet 来实现此目的,但问题是 Struts 2 标签不采用 运行时属性。我什至尝试了 OGNL,但也没有帮助。
使用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>
使用
s:url
标签动态构建操作 URL。
<s:url action="%{somePoperty}" var="myUrl"/>
<s:form action="%{#myUrl}">
事实上,Struts 标签的属性不仅接受 scriptlet,还接受 JSTL EL 表达式。