Struts2.0-2.ppt

上传人:s****8 文档编号:67325516 上传时间:2022-12-24 格式:PPT 页数:26 大小:3.15MB
返回 下载 相关 举报
Struts2.0-2.ppt_第1页
第1页 / 共26页
Struts2.0-2.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《Struts2.0-2.ppt》由会员分享,可在线阅读,更多相关《Struts2.0-2.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Java Web 应用开发应用开发项目1 Struts2 国际化和校验国际化和校验v相关知识Struts2业务类Action的实现简单POJO实现一个接口继承一个类Struts2国际化Struts2的校验使用validate方法使用框架v学习重点业务类的实现和框架校验v任务实施注册的Action注册的国际化注册的校验v作业使用Struts2完成注册,到数据库中2022/12/201Java Web 应用开发应用开发Struts2 工作原理工作原理Java Web 应用开发应用开发回顾回顾v添加jar包复制到在工程项目目录下的WebRoot下WEB-INF的lib的文件中v修改web.xmlFi

2、lter过滤v新建struts.xml文件在src文件夹下建议不要自己写v编写业务Action编写成员变量编写getter和setter方法编写exectue方法根据业务逻辑的值返回字符串v修改struts.xml/welcome.jsp/error.jspJava Web 应用开发应用开发课堂训练课堂训练v完成一个Struts2的应用定义一个用户类User成员变量用户名和密码成员方法构造方法getter和setterisManager方法定义一个LoginActionextendsActionSupport成员变量用户对象成员方法getter和setter,execute方法配置struts

3、.xml配置web.xmlJava Web 应用开发应用开发环境搭建中出现的问题环境搭建中出现的问题vstruts.xml出现错误dtd校验错误解决方法!-/第一种方式-!-第二种方式-Java Web 应用开发应用开发Struts2 控制器控制器v核心控制器FilterDispatcher在web.xml中配置v业务控制器Action自己定义普通的POJO实现一个接口继承一个类配置和使用Java Web 应用开发应用开发普通普通Java 类类vAction类可以是一个普通Java类(POJO),实现与Servlet的完全分离,一般包含:成员变量及相应的set和get方法publicStrin

4、gexecute().方法其他方法v特点:代码具有良好的复用性与Servlet无耦合返回字符串没有规范,配置和管理麻烦Java Web 应用开发应用开发改进控制器改进控制器-实现实现Action接口接口v改进控制器实现Action可以直接返回5个常量,使配置管理更加规范Action接口可以得到会话跟踪对象HashMapm=ActionContext.getContext().getSession();Java Web 应用开发应用开发优化优化Action-继承继承ActionSupportv改进控制器可以直接继承ActionSupport类,可使开发工作量简化该类实现了Action接口,还实现

5、了数据校验Validateable接口等,提供了数据校验的功能publicvoidvalidate()if(条件)addFieldError(password1,密码不能为空!);文本框名字提示信息Java Web 应用开发应用开发课堂训练课堂训练v定义和使用注册的Action注册业务Action,分别用RegAction1,是POJORegAction2,实现接口RegAction3,继承类(要使得验证成功,必须有input)配置struts.xml配置上面3个Action表单调用分别放在reg1,reg2,reg3三个文件夹中Java Web 应用开发应用开发数据校验数据校验v重写Acti

6、onSupport中的validate()方法如果发现输入的数据不符合条件,将执行addFieldError()方法,将错误信息写入Action类的FieldErrors中,Struts框架将自动返回到INPUT视图中。addFieldError(“表单名字”,“提示信息”)业务方法必须返回“input”v使用框架校验常用Java Web 应用开发应用开发输入验证输入验证validate()vStruts2在调用execute()之前首先会调用validate(),如果在validate方法中验证时,发现数据不符合条件,可使用addFieldError()、addActionError()、a

7、ddActionMessage()加入相应的错误信息。v如果存在Action或Field错误,Struts2会自动返回“input”,不会再调用execute方法了。如果不存在错误信息,Struts2在最后会调用execute方法。v检验信息显示方法:addFieldError(fieldName,errorMessage)/需要一个key,用来表示是哪一个属性出的错误addActionMessage(aMessage)addActionError(anErrorMessage)v特点:在action中需要编写大量的验证代码,不利于维护Java Web 应用开发应用开发示例示例public v

8、oid validate()if(username=null|username.trim().equals()this.addFieldError(username,用户名不能为空用户名不能为空);if(birthday=null|birthday.after(new Date()this.addFieldError(birthday,生日日期不正确生日日期不正确);if(this.getPassword()=null|this.getPassword().trim().equals()this.addFieldError(password,密码不能为空密码不能为空);if(!this.get

9、Password2().equals(this.getPassword()this.addFieldError(password2,两次密码不一致两次密码不一致);Java Web 应用开发应用开发基于框架的输入校验基于框架的输入校验v基于框架的输入校验,将校验规则保存在特定的框架文件中,将输入校验与Action分离,提高系统的可维护性。vAction中无需重写validate方法,只做业务控制,通过XML文件配置实现校验。服务器端校验客户端校验Java Web 应用开发应用开发数据校验数据校验-框架校验框架校验v使用框架校验-常用需要为该Action单独建框架校验配置文件,命名规则是:Act

10、ion类名-validation.xml,如:UserReg-validation.xml。保存到UserReg类的相同目录下。true 错误,用户名不能为空!校验的类型用type设置Java Web 应用开发应用开发框架校验配置文件详解框架校验配置文件详解v验证信息放在中,至少提供一个field(字段校验)或validate(非字段校验)vfield(字段校验)1个field表示对一个属性的一次校验,name必须提供,表示属性。中至少有一个或多个1个表示对字段校验的一种方式type类型必须提供type=类型名中有若干个(0N)子元素和一个子元素vvalidate(非字段校验)validate

11、的type必须提供,表示校验类型validate中的第一个param的name属性永远都是固定的fieldName,对应与要去校验的字段名Java Web 应用开发应用开发字段校验与非字段校验字段校验与非字段校验v字段校验与非字段校验只是表现形式不同,底层是相同的,都是把错误信息放到fielderror中字段校验:字段优先,去校验谁(字段),用谁(校验器)来校验非字段校验:校验器优先,用谁(校验器)来校验,去校验谁(字段)Java Web 应用开发应用开发服务器端验证服务器端验证v编写步骤:编写action(如RegAction.java),实现相应的业务控制配置Action类(struts.

12、xml)编写验证规则配置文件(RegAction-validation.xml)编写显示页面(*.jsp)Java Web 应用开发应用开发使用客户端输入验证使用客户端输入验证v服务器端校验已经将用户请求通过框架发送给action,地址栏显示的为*.actionv客户端校验与服务器端校验类似,只需要修改JSP显示视图,在中增加:Validate=“true”vStruts2的的theme一定不能设置为simplev校验后,地址栏不变,本质是struts2将定义的校验字段内容转换为JavaScript脚本,嵌入到JSP显示视图中。v特点:死板Java Web 应用开发应用开发校验小结校验小结v通

13、过重写validate()方法实现校验v使用框架校验主要是编写校验的xml文件命名:需要校验的Action名+-validation.xml位置:要和需要校验的Action放在同一目录下若只对action中的某个方法进行校验,则创建相应的校验配置文件为:“Action名+-方法名+-validation.xml”Java Web 应用开发应用开发实践:用户注册输入校验实践:用户注册输入校验v使用两种方法实现用户注册信息输入校验Action中重写validate()方法使用框架校验,编写校验的xml文档字段校验非字段校验Java Web 应用开发应用开发框架校验框架校验vstruts2提供了很多

14、校验类型required:必填校验器requiredstring:必填字符串校验器int:整数校验器double:双精度浮点数校验器date:日期校验器expression:表达式校验器fieldexpression:字段表达式校验器email:电子邮件校验器url:网址校验器visitor:Visitor校验器conversion:转换校验器stringlength:字符串长度校验器regex:正则表达式校验器Java Web 应用开发应用开发Struts2国际化国际化v信息页面信息提示信息v国际化建立一个中文资源文件,globalMessages_en_US.properties。用文本编

15、辑器输入。建立一个英文资源文件,globalMessages_zh_CN.properties。用文本编辑器输入。上述两个文件保存到src中处理可以用native2ascii.exe6.5版本之后可视化操作配置创建struts.properties,保存到src目录下,内容如下:Struts.custom.i18n.resources=globalMessages或者在struts.xml中加入常量配置:Struts2的国际化,资源文件的命名:basename_language_country.propertiesJava Web 应用开发应用开发Struts2国际化国际化vStruts2访问

16、国际化消息主要有如下三种方式JSP页面该情况条件是theme属性不能设置为simplevalidate方法中增加错误信息的国际化this.addFieldError(username,this.getText(username.invalid);this.addActionError(this.getText(username.invalid);xml验证框架中错误信息的国际化$getText(name.invalid)Action类中getText(username.invalid)Java Web 应用开发应用开发小结小结vstruts2开发环境,加载必须的jar包v创建struts2应用

17、配置web.xml过滤器配置(基本固定)创建action实现业务控制创建配置文件struts.xml,配置action创建视图*.jsp或*.htmlv熟悉业务控制器actionexecute()方法普通Java类实现Action接口继承ActionSupport类v输入校验-两种方式v国际化Java Web 应用开发应用开发课堂练习课堂练习v步骤struts.xml配置用户注册页面reg.jsp注册成功页面reg_ok.jsp自定义业务ActionUserReg可以在自己的Action中实现该Action接口,可以直接返回SUCCESS常量,使得配置管理更加规范数据校验,只要在自定义Action类中重写方法publicvoidvalidate()如果发现输入的数据不符合条件,将执行addFieldError()方法,将错误信息写入Action类的FieldErrors中,Struts框架将自动返回到INPUT视图中。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com