Struts2学习笔记三(异常处理、模型驱动和属性驱动、servlet接口、Preparable接口)

转载 2016年08月30日 11:07:28

1、自定义异常:

       public class UsernameException extends Exception

	public String execute() throws Exception {
		
		if(!"123".equals(username))
		{
			throw new UsernameException("username invalid");
		}
		if(!"123".equals(password))
		{
			throw new PasswordException("password invalid");
		}
		
		return SUCCESS;
	}

2、接受异常,然后跳转。

		<action name="login" class="com.yanlei.struts2.LoginAction">
			<result name="success">/result.jsp</result>
<span style="color:#ff0000;">			<exception-mapping result="</span><span style="color:#00cccc;">usernameInvild</span><span style="color:#ff0000;">" exception="com.yanlei.exception.UsernameException"></exception-mapping>
			<exception-mapping result="passwordInvild" exception="com.yanlei.exception.PasswordException"></exception-mapping>
			<result name="</span><span style="color:#00cccc;">usernameInvild</span><span style="color:#ff0000;">">/usernameInvild.jsp</result>
			<result name="passwordInvild">/passwordInvild.jsp</result></span>
		</action>
3、也可定义在全局内,可以被所有action共用。

	<global-results>
			<result name="usernameInvalid">/usernameInvalid.jsp</result>
			<result name="passwordInvalid">/passwordInvalid.jsp</result>
	</global-results>
		
	<global-exception-mappings>
		<exception-mapping result="usernameInvalid" exception="com.shengsiyuan.exception.UsernameException"></exception-mapping>
		<exception-mapping result="passwordInvalid" exception="com.shengsiyuan.exception.PasswordException"></exception-mapping>
	</global-exception-mappings>
  但局部总是优先于全局的。


4、模型驱动如写个User类,实现modelDriven<Uset>,重写public User getMedel(){return user;}

      但一般都使用属性驱动的模式。直接写属性,不用写类。。

5、Servlet两种方式

HttpServletRequest request=ServletActionContext.getRequest();
HttpSession session=request.getSession();
session.setAttribute("hello", "struts");


ActionContext actionContext=ActionContext.getContext();
Map<String, Object> map=actionContext.getSession();
Object o=map.get("hello");

6、在传值之前做准备,action实现Preparable接口。

Struts2属性驱动与模型驱动

Struts2属性驱动与模型驱动 为什么要使用属性驱动和模型驱动 struts2与struts很大的不同点在于,struts的execute方法提供了HttpServletRequest和Http...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2013年09月13日 20:09
  • 10274

Struts2 - 属性驱动与模型驱动概念

Struts2 - 属性驱动与模型驱动   一、为什么要使用属性驱动和模型驱动?          :struts2与struts很大的不同点在于,struts的execute方法提...
  • KJ345002013
  • KJ345002013
  • 2015年10月09日 10:18
  • 388

Struts2的属性驱动原理和模型驱动原理

属性驱动:(靠的是ParameterInterceptor拦截器) *  在action中设置属性,属性的名称和页面上表单中的name属性的名称保持一致 *  在action中的属性,必须有set和g...
  • xuxiaocheng1
  • xuxiaocheng1
  • 2013年09月12日 21:13
  • 2880

Struts2 - 属性驱动与模型驱动 中应该注意的问题。

Struts2 - 属性驱动与模型驱动 中应该注意的问题: 属性驱动例子代码如下: import com.opensymphony.xwork2.ActionSupport; public clas...
  • suyu_yuan
  • suyu_yuan
  • 2016年10月06日 11:01
  • 1449

struts2 接受参数的两种方式(属性驱动和模型驱动)

定义: 在struts2中,页面的数据和action(控制层)传输基本上有两种方式,一个是属性驱动、另一个是模型驱动。 属性驱动 基本数据类型的属性对应: 就是Web页面上html标签的name属性...
  • xyffly
  • xyffly
  • 2017年03月03日 11:38
  • 1879

Struts2的模型驱动和属性驱动

Struts2环境搭建成功后,最起码的要求是能实现对数据的增删改查,然而这就涉及到了如何将前台数据传入到我们后台中,简单说如何将页面的数据传到处理程序中,以及如何把数据库中的数据显示在jsp中,想要实...
  • u011936251
  • u011936251
  • 2017年06月19日 17:29
  • 404

strut2接收参数的三种方式(属性驱动\对象驱动\模型驱动)说明

strut2接收参数的三种方式(属性驱动\对象驱动\模型驱动)说明
  • qq_36648435
  • qq_36648435
  • 2016年11月12日 12:19
  • 1547

struts2_06 struts2补充,值栈,属性驱动与模型驱动

1. struts2的好处优势是:         1. 可以利用属性驱动和模型驱动简单的获取表单的数据         2. 拦截器可以把各种不属于业务逻辑的内容(文件上传,校验,获取数据等)和...
  • qq_28139371
  • qq_28139371
  • 2015年12月16日 16:44
  • 759

struts2的模型驱动(推荐使用)、属性驱动模式

Struts2对ModelDriven模式的支持Struts2可以采用类似于Struts1中的ActionForm方式收集数据,这样方式叫ModelDriven模式如何实现模型驱动模式? *...
  • m_future1993
  • m_future1993
  • 2016年05月10日 21:36
  • 292

action类中属性驱动和模型驱动的区别

action类中属性驱动和模型驱动的定以及区别
  • woaijianjiandandande
  • woaijianjiandandande
  • 2016年10月11日 20:53
  • 3271
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Struts2学习笔记三(异常处理、模型驱动和属性驱动、servlet接口、Preparable接口)
举报原因:
原因补充:

(最多只允许输入30个字)