[英]How invoke Action method by variable on Struts 2?
How can I invoke action method by variable? 如何通过变量调用动作方法? To explain better, this code works
为了更好地解释,此代码有效
<s:action name="indexController!loadData" executeResult="false" />
... But this other one doesn't work ...但是这另一个不起作用
<s:action var="mainController" name="indexController" />
<s:action name="mainController!loadData" executeResult="false" />
... I also tried ...我也尝试过
<s:action var="mainController" name="indexController" />
<s:action name="#mainController!loadData" executeResult="false" />
But it doesn't work too. 但这也不起作用。 I need the second mode, because I must switch action dynamically on the page.
我需要第二种模式,因为我必须在页面上动态切换动作。
In the name attribute you need to force the OGNL evaluation with %{}
在名称属性中,您需要使用
%{}
强制OGNL评估
Try using Set tag instead of Action tag 尝试使用设置标签代替操作标签
<s:set var="mainController" value="%{'indexController'}" />
<s:action name="%{#mainController}!loadData" executeResult="false" />
or in alternative 或替代
<s:set var="mainController" value="%{'indexController!loadData'}" />
<s:action name="%{#mainController}" executeResult="false" />
or 要么
<c:set var="mainController" value="indexController" scope="request"/>
<s:action name="%{#request.mainController}!loadData" executeResult="false" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.