标签:struts
struts的数据封装的实现原理:使用了拦截器.进行数据的封装.
<interceptor name="params" class="com.opensymphony.xwork2.interceptor.ParametersInterceptor"/>
这个拦截器的执行流程:
(1)用户访问login.jsp填写表单username和password,提交到user_login指定的UserAction中.
(2)struts创建UserAction对象并把Action放到值栈中的root(list栈)中,UserAction的属性暴露.即这两个属性已经在栈顶
(3)执行ParametersInterceptor这个拦截器.
(4)把username和password封装到一个map集合,值栈中valueStack set(name,value)
(5)然后去栈顶去设置这两个属性的值.此时username和password中已经有了值.
(6)拦截器放行,执行UserAction 中的方法(比如login方法)
login.jsp
UserAction
package cn.itcast.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String login(){ System.out.println("用户名:"+username); System.out.println("密码"+password); return "login"; } }执行流程图:
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:struts
原文地址:http://blog.csdn.net/u014010769/article/details/47058225