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

时间:2015-04-18 10:18:49

标签: java jsp struts2 attributes httprequest

我的JSP页面中的Struts <s:action>标记执行了我的操作。

<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 />中执行这些属性?

1 个答案:

答案 0 :(得分:2)

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

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