如何获取Struts中action标签的请求属性2

How to get request attributes of action tag in Struts 2

我的操作由 Struts <s:action> 标签在我的 JSP 页面中执行。

<s:action name="test" ignoreContextParams="false" executeResult="false" namespace="/">
  <h1><s:property value="#attr.testname" /></h1>
</s:action>

test 操作中,我尝试将 testname 属性设置为一个值,如以下代码。

@Override
public String execute() throws Exception {
    // TODO Auto-generated method stub
    ServletActionContext.getRequest().setAttribute("testname",
            "This is a test name");
    System.out.println("test action executing");
    return ActionSupport.SUCCESS;
}

从信息的输出来看,动作执行了,但是<h1></h1>是空的。我也试过

<h1><s:property value="#request.testname"/></h1>

但是我得不到我想要的结果,还是空的。

如何让这些属性在 <s:action /> 中执行?

property 标签放在 action 标签之后。在评估 action 标记的主体之前,上下文变量可能不可用。

<s:action name="test" ignoreContextParams="false" executeResult="false" namespace="/"/>
<h1><s:property value="#attr.testname" /></h1>