码迷,mamicode.com
首页 > 其他好文 > 详细

struts 属性驱动

时间:2015-07-25 18:28:00      阅读:134      评论:0      收藏:0      [点我收藏+]

标签: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 属性驱动

标签:struts

原文地址:http://blog.csdn.net/u014010769/article/details/47058225

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!