[struts2]类型转换笔记
2009-05-02 23:17
344 查看
很早就接触到了struts框架,但是没有系统的学过这技术,也不太了解,据网上介绍大家都很推崇这项技术,所以学习J2EE的期间,就不得不学习struts框架了。目前struts出了2.1.16版本,其版本已和1.X版本有着本质上的区别,struts2 框架据我目前所知道有以下几下几大好处:类型转换、表单验证、国际化支持、处理表示分开等,当然还有其它很多的好处,这就有待继续学习了。
struts2类型转换是它的一个主要功能之一。它的流程如下图
1、struts2的一些基本
例:
login.jsp(新建一个JSP页面)
导入struts2的标签<%@ taglib prefix="s" uri="/struts-tags" %>
下面添加一个表单
结果页面result.jsp
新建一个LoginAction类,继承ActionSupport
有成员变量以及他们的set、get方法:
struts.xml
下面来分析下上面的代码,先看struts.xml中的内容。pachkage中的name属性,表示了该project。在该package中定义了一个action,name属性为login,调用class路径为com.test.action.LoginAction,即上面定义的LoginAction类。result中属性name="success"表示了,当页面回一个success结果时跳至result.jsp页面。这样通过struts.xml将LoginAction类与login.jsp页面关联起来。其中login.jsp中<s:form action="login">将该表单与struts.xml中名为login的action关联。
程序是如何运作的呢?当我们访问login.jsp,输入username与password,按submit提交后,程序调用LoginAction中各个set方法,讲表单中对应的值赋值给对应的成员变量,注(与页面中的同名)。(这里因为没有写自己的类型转化,所以通过struts2提供的默认的类型转化完成,下面我会做具体说明)。完成了表单的提交后,页面通过validate方法进行相关验证,该方法需要我们overwrite(比如,我们判断username不为空等等。),完成了validate之后,通过execute方法,返回一个result,如返回SUCCESS,同去struts.xml中的该action中查找对应的result进行页面的跳转,如上代码,则我们跳转至result.jsp,并且,result.jsp通过LoginAction中的get方法,获得各成员变量显示出之前我们提交的内容。
2、类型转化
之前提到,在set方法之前隐含了类型转化。页面提交,我们获得的所有内容都是String类型的,而在set方法中,我们要set的成员,并不一定是String类型,所以我们需要一定的类型转化。
例:我们要输入一个Point(x,y),则我们需要对其进行类型转换。
首先,我们在工程下新建一个Point类,成员变量int x,y;已经相对应的set,get方法。
新建一个input.jsp页面
...............
详情:http://blog.sina.com.cn/s/blog_5cf5d2690100dd5q.html
struts2类型转换是它的一个主要功能之一。它的流程如下图
1、struts2的一些基本
例:
login.jsp(新建一个JSP页面)
导入struts2的标签<%@ taglib prefix="s" uri="/struts-tags" %>
下面添加一个表单
<s:form action="login"> <s:textfield name="username" label="username"></s:textfield> <s:password name="password" label="password"></s:password> <s:submit label="submit"></s:submit> </s:form>
结果页面result.jsp
username:<%= request.getParameter("username") %><br> password:<%= request.getParameter("password") %>
新建一个LoginAction类,继承ActionSupport
有成员变量以及他们的set、get方法:
private String username; private String password; public String execute() throws Exception { return SUCCESS; }
struts.xml
<struts> <package name="test" extends="struts-default"> <action name="login" class="com.test.action.LoginAction"> <result name="success">/result.jsp</result> </action> </package> </struts>
下面来分析下上面的代码,先看struts.xml中的内容。pachkage中的name属性,表示了该project。在该package中定义了一个action,name属性为login,调用class路径为com.test.action.LoginAction,即上面定义的LoginAction类。result中属性name="success"表示了,当页面回一个success结果时跳至result.jsp页面。这样通过struts.xml将LoginAction类与login.jsp页面关联起来。其中login.jsp中<s:form action="login">将该表单与struts.xml中名为login的action关联。
程序是如何运作的呢?当我们访问login.jsp,输入username与password,按submit提交后,程序调用LoginAction中各个set方法,讲表单中对应的值赋值给对应的成员变量,注(与页面中的同名)。(这里因为没有写自己的类型转化,所以通过struts2提供的默认的类型转化完成,下面我会做具体说明)。完成了表单的提交后,页面通过validate方法进行相关验证,该方法需要我们overwrite(比如,我们判断username不为空等等。),完成了validate之后,通过execute方法,返回一个result,如返回SUCCESS,同去struts.xml中的该action中查找对应的result进行页面的跳转,如上代码,则我们跳转至result.jsp,并且,result.jsp通过LoginAction中的get方法,获得各成员变量显示出之前我们提交的内容。
2、类型转化
之前提到,在set方法之前隐含了类型转化。页面提交,我们获得的所有内容都是String类型的,而在set方法中,我们要set的成员,并不一定是String类型,所以我们需要一定的类型转化。
例:我们要输入一个Point(x,y),则我们需要对其进行类型转换。
首先,我们在工程下新建一个Point类,成员变量int x,y;已经相对应的set,get方法。
新建一个input.jsp页面
...............
详情:http://blog.sina.com.cn/s/blog_5cf5d2690100dd5q.html
相关文章推荐
- Struts2.1笔记(五):Struts2的类型转换
- 黑马程序员——struts2学习笔记四(类型转换)
- [原创]java WEB学习笔记68:Struts2 学习之路-- 类型转换与复杂属性配合使用
- Struts2系列笔记(7)---Struts2类型转换
- Struts2类型转换学习笔记
- 浪曦_Struts2应用开发系列_第2讲.Struts2的类型转换--出现的问题笔记
- struts2 类型转换器笔记
- Struts2.x 学习笔记 之 类型转换器 和 错误提示修改
- Struts2学习笔记之类型转换。
- Struts2系列笔记(7)---Struts2类型转换
- Struts2学习笔记5:Struts2类型转换续二
- struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持
- Struts2-学习笔记系列(13)-类型转换异常和校验器
- struts2初学笔记(一) 类型转换
- Struts2.x 学习笔记 之 类型转换与复杂属性
- struts2系列学习笔记(8)---------------类型转换的错误处理
- Struts2.1笔记(六):Struts2的 类型转换(续)
- Struts2 学习笔记——数据类型转换
- struts2 自学笔记(3)之类型转换
- Struts2系列笔记(7)---Struts2类型转换