struts2中关于传值问题

你在页面上 写个字段  然后传给后台action  action中只要有该属性的setter/getter方法   就不用写request.setAttribute()  跳转的页面 可以获取到值(重定向不可以 type必须是chain)

普通字段 或者简单的对象都可以

代码如下(不喜勿喷)

----------------------action类---------------------------------------------

public class TestValueAction extends ActionSupport {
    public User user;
    public String name;
    public String address;
    public String test(){
        return "test";
    }
    public String test2(){
        return "test2";
    }
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
    

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}


-----------------------配置文件--------------------------------

<action name="testValueAction_*" class="cn.gdpe.controller.TestValueAction" method="{1}">
            <!-- 重定向 -->
            <result name="test2">/test.jsp</result>
            <result name="test" type="redirect">testValueAction_test2.action</result>
            <!--转发 
            <result name="test1">/test.jsp</result> -->
        </action>

 

------------------------页面-1-------------------------------------

 <form action="${pageContext.request.contextPath }/testValueAction_test.action">
        <input type="text" name="name"/>
        <input type="text" name="address"/>
        <input type="text" name="user.name"/>
        <input type="text" name="user.address"/>
        <input type="submit" value="提交">
    </form>

--------------------页面-2-------------------------------------------

    ${user.name }
    ${user.address }
    ${name }
    ${address }

-------------------------USER类-----------------------------

public class User {
    private String name;
    private String address;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    
}

你可能感兴趣的:(struts2中关于传值问题)