bulktree
欢迎走进有风的地方~
BlogJava
首页
新文章
新随笔
聚合
管理
posts - 38, comments - 94, trackbacks - 0
Struts2表单请求流程(二)— Struts2高级的POJO访问
此文主要来自
www.blogjava.net/Max
的实例
Struts 2.0
支持更高级的
POJO
访问,先定义一个
User.java
类。把
username
和
password
属性,从
Login
类中分离出来,它可以使系统结构更清晰,对开发多层系统尤其有用。
User.java
package
com.bulktree.struts2;
public
class
User
{
private
String username;
private
String password;
public
String getUsername()
{
System.out.println(
"
******getUsername()******
"
);
return
username;
}
public
void
setUsername(String username)
{
System.out.println(
"
*******setUsername()********
"
);
this
.username
=
username;
}
public
String getPassword()
{
System.out.println(
"
******getPassword()*******
"
);
return
password;
}
public
void
setPassword(String password)
{
System.out.println(
"
******setPassword()*********
"
);
this
.password
=
password;
}
}
login2.jsp
<
s:form action
=
"
login2
"
method
=
"
post
"
>
<
s:textfield name
=
"
user.username
"
label
=
"
USERNAME
"
tooltip
=
"
Enter Your UserName
"
></
s:textfield
>
<
s:password name
=
"
user.password
"
label
=
"
PASSWORD
"
tooltip
=
"
Enter Your PassWord
"
></
s:password
>
<
s:submit label
=
"
login
"
></
s:submit
>
</
s:form
>
struts.xml文件中action配置:
<
action
name
="login2"
class
="com.bulktree.struts2.LoginAction2"
>
<
result
name
="success"
>
/welcome.jsp
</
result
>
<
result
name
="input"
>
/login2.jsp
</
result
>
</
action
>
LoginAction2.java:
package
com.bulktree.struts2;
import
com.opensymphony.xwork2.ActionSupport;
public
class
LoginAction2
extends
ActionSupport
{
private
User user;
private
String message;
public
void
setUser(User user)
{
System.out.println(
"
********setUser()***********
"
);
this
.user
=
user;
}
public
User getUser()
{
System.out.println(
"
*********getUser()*************
"
);
return
user;
}
public
String getMessage()
{
System.out.println(
"
************getMessage()********
"
);
return
message;
}
@Override
public
String execute()
throws
Exception
{
System.out.println(
"
*****execute()******
"
);
if
(
"
bulktree
"
.equals(user.getUsername())
&&
"
oakertree
"
.equals(user.getPassword()))
{
message
=
"
Welcome,
"
+
user.getUsername();
}
else
{
message
=
"
Error!
"
;
}
return
ActionSupport.SUCCESS;
}
@Override
public
void
validate()
{
System.out.println(
"
******validate()******
"
);
if
(
null
==
user.getUsername()
||
user.getUsername().length()
<
5
)
{
this
.addFieldError(
"
username
"
,
"
USERNAME ERROR
"
);
}
if
(
null
==
user.getPassword()
||
user.getPassword().length()
<
5
)
{
this
.addFieldError(
"
password
"
,
"
PASSWORD ERROR
"
);
}
}
}
welcome.jsp:
YOUR USERNAME:
<
FONT size
=
"
5
"
color
=
"
red
"
><
s:property value
=
"
user.username
"
/></
FONT
><
br
>
YOUR PASSWORD:
<
FONT size
=
"
5
"
color
=
"
red
"
><
s:property value
=
"
user.password
"
/></
FONT
><
br
>
控制台输出及分析:
*********
getUser()
*************
//
得到User类的实例
********
setUser()
***********
//
执行setUser(),准备赋值操作
******
setPassword()
*********
//
set赋值操作,此时是真正的赋值
*********
getUser()
*************
//
得到User类的实例
*******
setUsername()
********
//
set赋值操作,此时是真正的赋值
以上有struts2框架自动执行
******
validate()
******
//
表单验证
******
getUsername()
******
//
表单验证时调用get方法(判断username)
******
getUsername()
******
//
表单验证时第二次调用get方法(判断username)
******
getPassword()
*******
//
表单验证时调用get方法(判断password)
******
getPassword()
*******
//
表单验证时第二次调用get方法(判断password)
*****
execute()
******
//
业务逻辑
******
getUsername()
******
//
调用get方法
******
getPassword()
*******
//
调用get方法
一下由Struts2框架自动执行
*********
getUser()
*************
//
得到User类的实例
******
getUsername()
******
//
自动执行get方法
********
getUser()
*************
//
得到User类的实例
******
getPassword()
*******
//
自动执行get方法
我们可以把类的属性分离出来实现系统架构清晰、明了。
posted on 2007-12-29 20:20
凌晨风
阅读(1525)
评论(0)
编辑
收藏
所属分类:
Java学习笔记
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-12-29 20:23 编辑过
成果网帮您增加网站收入
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
Log4j的使用
dom4j操作xml基础--Visitor访问模式解析XML
Visitor访问者模式---------学习dom4j时遇到的顺便拿来交流
office javaScript调试工具
java截取字符串的一些常用处理
JFreeChart简单使用
用commons-email-1.1.jar实现发邮件功能:
Struts2表单请求流程(二)— Struts2高级的POJO访问
Struts2表单请求流程(一)
Thinking in Java notebook
<
2007年12月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
我参与的团队
分享.学习.交流团队(0/0)
西安java用户群(0/0)
深圳Java开发者之家(1/1)
随笔分类
DATABSE(1)
Java学习笔记(28)
Spring/Hibernate/Struts2(3)
操作系统的一些解决方案(2)
源码备份
生活感悟(2)
随笔档案
2008年8月 (6)
2008年4月 (4)
2008年3月 (1)
2008年1月 (1)
2007年12月 (20)
2007年11月 (6)
文章分类
系统的一些解决方案(1)
文章档案
2007年11月 (1)
新闻分类
Program Information
一些转载的经典(2)
新闻档案
2007年12月 (1)
2007年11月 (1)
收藏夹
CSS(6)
DATEBSE(5)
J2EE/Jsp/Servlet(1)
JavaSceipt(1)
Java基础知识
Struts2(4)
设计模式(1)
最新随笔
1. Log4j的使用
2. dom4j操作xml基础--Visitor访问模式解析XML
3. Visitor访问者模式---------学习dom4j时遇到的顺便拿来交流
4. office javaScript调试工具
5. dom4j操作xml基础
6. java截取字符串的一些常用处理
7. Spring2.5.3+Hibernate3.2+Struts2.0.11整合
8. JFreeChart简单使用
9. 用commons-email-1.1.jar实现发邮件功能:
10. Struts2中select/doubleselect标签数据显示
搜索
最新评论
1. re: Spring2.5.3+Hibernate3.2+Struts2.0.11整合
写的不错,思路清晰!
--过路者
2. re: Visitor访问者模式---------学习dom4j时遇到的顺便拿来交流
Person在哪
--Person在哪
3. re: 去北京面试时的题目(老师生日)微软面试题[未登录]
评论内容较长,点击标题查看
--小小
4. re: dom4j操作xml基础
呵呵@培训谷哥
--培训谷哥
5. re: dom4j操作xml基础
太强大了
http://www.eduoogle.cn
--培训谷哥
阅读排行榜
1. Spring2.5.3+Hibernate3.2+Struts2.0.11整合(2606)
2. Struts2中select/doubleselect标签数据显示(2578)
3. 去北京面试时的题目(老师生日)微软面试题(2342)
4. JDK5增强for循环的使用(2246)
5. dumprep 0 -k引起的重启问题(2143)
评论排行榜
1. 去北京面试时的题目(老师生日)微软面试题(21)
2. JDK5增强for循环的使用(14)
3. 用commons-email-1.1.jar实现发邮件功能:(10)
4. 开源软件逐渐走进了我的生活(9)
5. Spring2.5.3+Hibernate3.2+Struts2.0.11整合(8)
60天内阅读排行
1. java截取字符串的一些常用处理(1531)
2. office javaScript调试工具(1306)
3. dom4j操作xml基础(1204)
4. dom4j操作xml基础--Visitor访问模式解析XML(1045)
5. Visitor访问者模式---------学习dom4j时遇到的顺便拿来交流(970)