Now I can get any desired results if I use the <s:if> tag in Struts2

    <s:if test="status==1">
         //do some stuff
    </s:if>

but I don't know how to get the action currently executed, I am expecting like

    <s:if test="action==addaction">
         //do some stuff
    </s:if>
有帮助吗?

解决方案

You can get action name from the context

<s:if test="#context['struts.actionMapping'].name=='addaction'">
   do some stuff
</s:if>

其他提示

Since Struts version 2.3.34 and 2.5.13 #context is not available anymore because of security reasons (see WW-4852) As a workaround you can use #request which is documented here

<s:if test="#request['struts.actionMapping'].name=='addaction'">
   do some stuff
</s:if>

Try this

<s:if test='%{com.opensymphony.xwork2.ActionContext.name=="YourActionName"}'>
     //do some stuff
</s:if>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top