繁体   English   中英

如何在Struts 2上通过变量调用Action方法?

[英]How invoke Action method by variable on Struts 2?

如何通过变量调用动作方法? 为了更好地解释,此代码有效

<s:action name="indexController!loadData" executeResult="false" />

...但是这另一个不起作用

<s:action var="mainController" name="indexController" />    
<s:action name="mainController!loadData" executeResult="false" />

...我也尝试过

<s:action var="mainController" name="indexController" />    
<s:action name="#mainController!loadData" executeResult="false" />

但这也不起作用。 我需要第二种模式,因为我必须在页面上动态切换动作。

名称属性中,您需要使用%{}强制OGNL评估

尝试使用设置标签代替操作标签

<s:set var="mainController" value="%{'indexController'}" />   
<s:action name="%{#mainController}!loadData" executeResult="false" />

或替代

<s:set var="mainController" value="%{'indexController!loadData'}" />
<s:action name="%{#mainController}" executeResult="false" />

要么

<c:set var="mainController" value="indexController" scope="request"/>
<s:action name="%{#request.mainController}!loadData" executeResult="false" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM