Struts2学习笔记----使用POJO

来源:互联网 发布:淘宝隐形眼镜 编辑:程序博客网 时间:2024/04/27 13:58

在Struts2中使用POJO,将会让代码变得更简单。

在Action中,如果需要传递的参数有很多个(如人员信息,姓名,年龄,地址,性别,工作时间等。。。),按照惯例,就需要在这个Action中定义许多的变量来记录这些信息。这样将便的很麻烦,而且不利于MVC模式。如果用得上POJO,的可以减少这种麻烦。(当然有很多人用Map来记录这些信息,思路是一样的,只是map的可读性比POJO差些).

eq:

------------------------------------------------------------------------------------------------------------------------------

showPerson.jsp:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
    姓名:${person.name }<br />
    年龄:${person.age }<br />
    性别:${person.sex }<br />
    住址:${person.address }<br />
</body>
</html>

 

------------------------------------------------------------------------------------------------------------------------------------

inputPerson.jsp:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Insert title here</title>
    </head>
    <body>
        <center>
            <h3>STRUTS2中使用POJO</h3>
            <br /><br /><br />
            <hr />
            <s:form action="showPerson">
                <s:textfield name="person.name" label="姓名" />
                <s:textfield name="person.sex" label="性别" />
                <s:textfield name="person.age" label="年龄" />
                <s:textfield name="person.address" label="住址" />
                <s:submit value="提交" />
            </s:form>
        </center>
    </body>
</html>

------------------------------------------------------------------------------------------------------------------------------------

Person.java(POJO)

package entity;

public class Person {
    private String name;
    private String sex;
    private String age;
    private String address;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
}

------------------------------------------------------------------------------------------------------------------------------------

ShowPerson.java(Action)

package action;

import com.opensymphony.xwork2.ActionSupport;

import entity.Person;

public class ShowPerson extends ActionSupport{
    private Person person;

    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }
    
    public String execute(){
        return SUCCESS;
    }
}

------------------------------------------------------------------------------------------------------------------------------------

这样访问inputPerson.jsp看效果,如果需要增加一个属性或者删除一个属性。只需要在POJO中增加过删除一个属性即可。

(参照了Hibernate的POJO规范)


原创粉丝点击