day31_数据回显模型驱动防止表单重复提交.docxVIP

day31_数据回显模型驱动防止表单重复提交.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
day31_数据回显模型驱动防止表单重复提交

Struts回顾:1. Struts开发流程(搭建一个strtus开发环境)2. Struts 执行流程3. Struts配置- package 拦截器 全局视图 action 默认值4. struts核心功能a. 数据处理b. 请求数据封装/类型转换c. 文件上传与下载d. 拦截器e. 国际化f. Ognl 表达式语言 / struts标签g.数据效验5. struts其他细节技术数据回显、模型驱动、防止表单重复提交最后,综合练习!1. Struts数据效验表单数据的验证:前台验证:主要是通过JS验证, 表达数据是否合法!后台验证:通过后台java代码进行验证! Struts也提供了数据效验的方式!Struts数据效验, 通过拦截器完成:interceptor name=validation class=erceptor.validation.AnnotationValidationInterceptor/代码方式验证Action中所有的方法:步骤:1. 搭建struts环境2. login.jsp3.UserAction.javaStruts数据效验错误信息处理:public synchronized void addFieldError(String fieldName, String errorMessage) { // 1. 保存错误信息的map集合 final MapString, ListString errors = internalGetFieldErrors(); // 2. Map的value值 (一个key,对应的多个值用list存储) ListString thisFieldErrors = errors.get(fieldName); // 3. 如果错误信息的map中没有当前的key,就直接创建集合 if (thisFieldErrors == null) { // 创建 thisFieldErrors = new ArrayListString(); errors.put(fieldName, thisFieldErrors); } // 4. 添加错误信息 thisFieldErrors.add(errorMessage); }Action实现:/** * 注意:如果要想用struts的数据效验功能,必须继承ActionSupport或实现相关接口 * @author Jie.Yuan * */public class UserAction extends ActionSupport {// 封装请求数据private User user = new User();public void setUser(User user) {this.user = user;}public User getUser() {return user;}// 重写数据验证的方法@Overridepublic void validate() {// 用户名非空if (user.getUserName() == null || .equals(user.getUserName())) {// 保存错误信息super.addFieldError(userName, 用户名必须填写!);}// 密码if (user.getPwd() == null || .equals(user.getPwd())) {super.addFieldError(pwd, 密码必填);}}…..}代码方式验证Action中指定的方法:写验证方法命名规则:validate + 要验证的方法名(方法名首字母一定要大写!!!)如:public void validateRegister() { 只会验证当前action的register方法!XML方式验证Action中所有的方法:(Token必须)总结代码方式验证:繁琐,设计很多重复的验证逻辑!例如:非空验证、数值验证、email、日期等。Struts对于常用的验证,进行了封装,即提供了验证器, 验证指定的常用业务逻辑!Struts提供的所有验证器:validatorsvalidator name=required class=com.opensymphony.xwork2.validator.validators.RequiredFieldValidator/!--非空属性验证器 即是param=?中的param必须带上--validator name=requiredstring class=com.opensymphony.xwork2.validator.validators.RequiredStringValidator/!--字符串非空验证器--validator name=in

文档评论(0)

jiulama + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档