Struts2 - 在下一个Action中获取属性值

时间:2011-03-07 15:28:00

标签: struts2

我正在使用<s:form action="someAction">

我的struts.xml包含

<action name="someAction" 
        class="com.test.testaction.getValue" 
        method="getValuedemo">
    <result name="success" type="redirectAction">demo</result>   
</action> 

而我的行动包含

public class getValue extends ActionSupport{
    private String userName;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getValuedemo() {
        userName = "tmpUser";
    }
}

我的问题是如何在demo.action中获取userName属性?????请帮忙

3 个答案:

答案 0 :(得分:6)

您可以将userName作为参数传递

<action name="someAction" class="com.test.testaction.getValue" method="getValuedemo">
    <result name="success" type="redirectAction">
        <param name="actionName">demo</param>
        <param name="userName">${userName}</param>
    </result>
</action> 

还在演示操作中添加userName getter / setter

答案 1 :(得分:1)

与特定操作关联的值是按请求。如果在操作中设置值然后重定向,则这些值将丢失。如果getValue只是重定向到demo,那么getValue操作的目的是什么?为什么不在DemoAction上使用userName getter和setter?

请修改您的问题,以提供有关您要执行的操作的详细信息。

此外,您的操作名称不符合类的Java命名约定,该命名约定应以大写字母开头。此外,您可能希望为GetValue提供更好的操作名称。

答案 2 :(得分:0)

首先使用链式结果类型......

<result name="success" type="chain">demo.action</result>

然后阅读有关拦截器的内容,以便您可以避免使用chain,redirect,redirectAction。