第8章 Struts 2类型转换和输入校验【首页】杜老师
	
	Struts 2备忘
	struts-2.3.16.3+hibernate4.2.4+spring4.0.2整合包
	
	1. Struts 2内建类型转换器
	
	
	1.1  基本数据类型转换器(计算器)
	(1) 创建项目01JavaWeb08,  01学号  java EE 5.0, 复制apps\struts2-blank-2.3.16.3\WEB-INF\lib下9个包到WEB-INF\lib
	
	(2) 从apps\struts2-blank-2.3.16\WEB-INF\web.xml中复制粘贴有关filter部分到WebRoot\WEB-INF\web.xml中
	
	(3) src创建cn.duzhaojiang.action包,并创建CountAction01.java
	
	(4) 创建入口页面[计算器]文件WebRoot\CounterInput01.jsp
	
	 创建[计算结果]页面文件WebRoot\CounterOutput01.jsp
	
	(5) 配置src\struts.xml文件
	
	(6) 创建首页文件WebRoot\index.jsp
	
	1.2  基本数据类型的封装类转换器(计算器)
	(1) 在cn.duzhaojiang.action包,复制CountAction01.java为CountAction2_01.java,修改double --> Double
	
	
	(2) 创建入口页面[计算器]文件,在WebRoot复制CounterInput01.jsp为CounterInput2_01.jsp,修改action="count.action" -->action="count2.action";结果页面文件仍用WebRoot\CounterOutput01.jsp
	
	(3) 追加配置src\struts.xml文件
	
	(4) 在首页文件WebRoot\index.jsp中加入下列代码,部署测试
<a href="CounterInput2_01.jsp">1.2 基本数据类型的封装类转换器</a>
	1.3  数组类型转换器(个人爱好)
	(1) 在cn.duzhaojiang.action包创建MyLikeAction01.java
	
	(2) 创建入口页面[个人爱好]文件WebRoot\LikeInput01.jsp
	
	 创建结果页面[显示个人爱好]文件WebRoot\LikeOutput01.jsp
	
	(3) 追加配置src\struts.xml文件
	
	(4) 在首页文件WebRoot\index.jsp中追加下列代码部署测试
<a href="LikeInput01.jsp">1.3 数组类型转换器(个人爱好)</a>
	1.4  集合类型转换器(个人爱好)
	(1) 在cn.duzhaojiang.action包创建MyLikeAction2_01.java
	
	(2) 创建入口页面[个人爱好]文件,在WebRoot复制LikeInput01.jsp为LikeInput2_01.jsp,修改action="mylike.action" -->action="mylike2.action";结果页面[显示个人爱好]文件仍用WebRoot\LikeOutput01.jsp
	(3) 追加配置src\struts.xml文件
	
	(4) 在首页文件WebRoot\index.jsp中追加下列代码部署测试
<a href="LikeInput2_01.jsp">1.4 集合类型转换器(个人爱好)</a>
	1.5  日期类型转换器(生日)
	(1) 在cn.duzhaojiang.action包创建DateAction01.java
	
	(2) 创建入口页面[输入出生日期]文件WebRoot\DateInput01.jsp
	
	 创建结果页面[当前年龄]文件WebRoot\DateOutput01.jsp
	
	(3) 追加配置src\struts.xml文件
	
	(4) 在首页文件WebRoot\index.jsp中追加
<a href="DateInput01.jsp">1.5 日期类型转换器(生日)</a>
	2. 自定义类型转换器
	(1)  创建bean: [点]Point01
	创建cn.duzhaojiang.bean,创建[点]Point01.java
	
	(2)  创建自定义数据类型转换1
	创建cn.duzhaojiang.converter,创建转换器PointConverter01
	
	(3)  创建自定义数据类型转换器2
	在cn.duzhaojiang.converter,创建转换器PointConverter2_01.java
	
	(4)  创建action
	在cn.duzhaojiang.action,创建转换器PointAction01.java
	
	在cn.duzhaojiang.action,创建局部转换器注册文件PointAction01-conversion.properties
	
	(5)  创建录入[输入坐标]、[输出坐标]页面
	在WebRoot\创建PointInput01.jsp
	
	在WebRoot\创建[输出坐标]页面PointOutput01.jsp
	
	(6)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
	(7)  修改index.jsp
	在首页文件WebRoot\index.jsp中追加
<a href="PointInput01.jsp">2.  自定义数据类型转换器(点)输入</a>
部署,进行合法数据和非法数据测试
	(8)  创建全局转换器注册文件
	在cn.duzhaojiang.action删除局部转换器注册文件PointAction01-conversion.properties文件名
	在src创建全局转换器注册文件xwork-conversion.properties文件名(使用PointConverter01转换器),部署,进行合法数据和非法数据测试
	
	(9)  显示中文化出错信息
	
	
	3. Struts 2输入校验(validate)
	web服务器端输入校验的重要性
	3.1  [年龄]输入校验
	(1) 在cn.duzhaojiang.action创建AgeAction01.java
	
	(2) 创建入口页面[输入年龄]文件WebRoot\AgeInput01.jsp
	
	(3) 创建入口页面[输入年龄]文件WebRoot\AgeInput1_01.jsp
	
	(4) 创建入口页面[输入年龄]文件WebRoot\AgeInput2_01.jsp
	
	(5) 创建[输出年龄信息]文件WebRoot\AgeOutput01.jsp
	
	(6) 在配置文件src\struts.xml package中增加
	
	(7) 在首页文件WebRoot\index.jsp中下列代码,部署、测试
	
	3.2  [用户注册]输入校验
	(1) 在cn.duzhaojiang.action创建RegisterAction01.java
	
	(2) 创建入口页面[用户注册]文件WebRoot\Register01.jsp
	
	(3) 显示[用户信息]网页WebRoot\ShowUserInfo01.jsp
	
	(4) 在配置文件src\struts.xml package中增加
	
	(5) 在首页文件WebRoot\index.jsp中下列代码,部署、测试
	
	
	4. Struts 2校验框架
	4.1  校验规则文件的文件名和格式
	(1) 文件名:action类名-validation.xml
	(2) struts2.1.6格式
	
	(3) struts2.3.16格式
	
	4.2  校验器配置风格
	(1) 字段校验器配置风格
	
	(2)  非字段校验器配置风格
	
	4.3  内建校验器注册文件
	 struts-2.3.16.3\src\xwork-core\src\main\resources\com\opensymphony\xwork2\validator\validators\default.xml
	
	4.4  常用的内建校验器
	(1) 必填校验器
	
	
	(2) 整数校验器
	
	(3) 日期校验器
	
	(4) 邮箱地址校验器
	
	(5) 字符串长度校验器
	
	5.  联系人添加模块的实现(实训)
	5.1  联系人添加(实训)
	(1) 在cn.duzhaojiang.action创建LxrAdd01.java
	
	(2) 创建[联系人录入]页面文件WebRoot\LxrAdd01.jsp
	
	(3) 显示[联系人信息]网页WebRoot\LxrOutput01.jsp
	
	(4) 在配置文件src\struts.xml package中增加
	
	(5) 在首页文件WebRoot\index.jsp中下列代码,部署、测试
	
	5.2  联系人添加(校验规则)
	(1) 在cn.duzhaojiang.action创建LxrAdd01_.java
	
	(2) 在cn.duzhaojiang.action创建LxrAdd01_-validation.xml
	
	(3) 创建[联系人录入]页面文件WebRoot\LxrAdd01_.jsp
	
	(4) 在配置文件src\struts.xml package中增加
	
	(5) 在首页文件WebRoot\index.jsp中下列代码,部署、测试
	
	6.  上机题(实训)
	6.1  单自定义类型[3D点]的输入校验
	(1) 在cn.duzhaojiang.bean,创建[点]Point3D01.java
	
	(2)  在cn.duzhaojiang.converter,创建转换器Point3DConverter01
	
	(3)  创在cn.duzhaojiang.action创建转换器Point3DAction01.java
	
	在cn.duzhaojiang.action创建局部转换器注册文件Point3DAction01-conversion.properties
	
	(4)  创建录入[输入3D坐标]、[输出3D坐标]页面
	在WebRoot\创建Point3DInput01.jsp
	
	在WebRoot\创建[输出坐标]页面Point3DOutput01.jsp
	
	(5)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
	在首页文件WebRoot\index.jsp中追加
<a href="Point3DInput01.jsp">6.1 单个Point3D的录入和转换(上机题2)</a>
部署,进行合法数据和非法数据测试
	6.2  多自定义类型[3D点]的输入校验
	(1) 创在cn.duzhaojiang.action创建转换器Point3DAction2_01.java
	
	(2)  创建录入[多点3D坐标]、显示[多点3D坐标]页面
	在WebRoot\创建Point3DInput2_01.jsp
	
	在WebRoot\创建[输出坐标]页面Point3DOutput2_01.jsp
	
	(3)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
	(4)  配置注册文件、部署测试
	
	(9)  显示中文化出错信息
	
	6.3 性别输入(上机题5:输入校验)
	(1) 创在cn.duzhaojiang.action创建转换器SexAction01.java
	
	(2)  创建录入[性别]、显示[性别]页面
	在WebRoot\创建SexInput01.jsp
	
	在WebRoot\创建[输出性别]页面SexOutput01.jsp
	
	(3)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
在WebRoot\index.jsp中追加:
	<a href="SexInput01.jsp">6.3 性别输入(上机题5:输入校验)</a><br />,部署、进行合法数据和非法数据测试
	6.4 出生日期和年龄输入(上机题6:validate())
	(1) 创在cn.duzhaojiang.action创建BirthdayAgeAction01.java
	
	(2)  创建录入[生日年龄]、显示[生日年龄]页面
	在WebRoot\创建BirthdayAgeInput01.jsp
	
	在WebRoot\创建[输出生日年龄]页面BirthdayAgeOutput01.jsp
	
	(3)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
在WebRoot\index.jsp中追加:
	<a href="BirthdayAgeInput01.jsp">6.4 出生日期和年龄输入(上机题6:validate())</a><br />,部署、进行合法数据和非法数据测试
	
	6.5 邮箱地址和网址输入(上机题7: 框架校验)
	(1) 创在cn.duzhaojiang.action创建EmailAction01.java
	
	(2) 创在cn.duzhaojiang.action创建EmailAction01-validation.xml
	
	(3)  创建录入、显示页面
	在WebRoot\创建EmailInput01.jsp
	
	在WebRoot\创建输出页面EmailOutput01.jsp
	
	(4)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
在WebRoot\index.jsp中追加:
	<a href="EmailInput01.jsp">6.5 邮箱地址和网址输入(上机题7: 框架校验)</a><br />,部署、进行合法数据和非法数据测试
	6.6 密码和确认密码输入(上机题8: -validation.xml)
	(1) 创在cn.duzhaojiang.action创建RepasswordAction01.java
	
	(2) 创在cn.duzhaojiang.action创建RepasswordAction01-validation.xml
	
	(3)  创建录入、显示页面
	在WebRoot\创建PasswordInput01.jsp
	
	在WebRoot\创建[输出]页面PasswordOutput01.jsp
	
	(4)  配置struts.xml文件
	在配置文件src\struts.xml package中增加
	
在WebRoot\index.jsp中追加:
	<a href="PasswordInput01.jsp">6.6 密码和确认密码输入(上机题8: -validation.xml)</a><br />,部署、进行合法数据和非法数据测试
	
	返回章节目录