Struts2学习笔记----使用POJO
2011-07-06 15:18
531 查看
在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规范)
在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规范)
相关文章推荐
- Netty5入门学习笔记004-使用Netty传输POJO对象
- 黑马程序员---struts2学习笔记之八(ognl原理及使用)
- struts2学习笔记--使用servletAPI实现ajax的一个小Demo
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- struts2学习笔记--------动态方法调用和使用通配符定义action
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签
- JSP学习笔记(七十八):struts2中s:select标签的使用
- Java学习笔记 Struts2的Validate()方法的使用
- struts2学习笔记--使用Validator校验数据
- Netty5入门学习笔记004-使用Netty传输POJO对象(上)
- 学习笔记: Struts2中使用validate框架对Action的不同方法进行验证
- Struts2学习笔记3:MyEclipse使用技巧(1)
- struts2学习笔记--使用Validator校验数据
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- [原创]java WEB学习笔记53:Struts2学习之路---前奏:使用 Filter 作为控制器的 MVC
- Netty5入门学习笔记004-使用Netty传输POJO对象(上)
- Netty5入门学习笔记004-使用Netty传输POJO对象
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签
- [struts2学习笔记] 第四节 学着使用struts 2的tag标签
- Struts2学习笔记--使用Response下载文件和Struts2的StreamResult文件下载