Struts(五)

前端和后端验证
    1.前端:用户体验
    2.保证程序的安全性
    
================================验证框架==========================
登陆验证:
    1.继承ActionSupport
    2.调用validate()
    3.配置struts.xml文件
validate() 有缺陷 --> 如,不能进行注册的特有验证
    调用Action的任务方法时,validate()会默认执行,可以验证一些通用规则。

解决方案:
    validateXxx():指定需要处理请求方法,【Xxx=指定处理请求的方法】
        执行顺序:(与代码先后顺序无关)
            validateXxx() --> validate() --> 方法
            
validate()或者validateXxx() 存在不足 --> 验证规则复杂,实现过程繁琐;Action类代码臃肿

解决方案:
    使用Struts 2提供的验证框架
        1.集成日常开发常用的数据校验功能
        2.多种类型校验器的集合
            校验器类型            校验器名称            说    明
            必填校验器            required        字段不能为空
            必填字符串校验器    requiredstring    字段值不能为空长度要大于0
            整数校验器            int                字段的整数值的范围
            字符串长度校验器    stringlength    字段值的长度的范围
            正则表达式校验器    regex            字段是否匹配一个正则表达式
            字段表达式校验器    fieldexpression    字段必须满足一个逻辑表达式
            日期校验器            date            日期输入是否在指定的范围内
            双精度校验器        double            字段值必须是双精度类型
        3.步骤:
            编写Action --> 配置Action --> 编写表单 --> 编写验证文件和校验规则
            
            验证文件:
                a.文件类型xml格式
                b.命名规则:ClassName.validation(Action类名);ClassName.alias.validation(struts.xml中Action类名)
                c.存放位置:与Action位于同一个包下

实现数据验证流程图:图片
================================国际化和本土化==========================
国际化(Internationalization:I18N)
    使程序在不做任何修改的情况下,可以在不同国家或地区以及不同语言环境下,按照当地的语言和格式习惯显示字符

本地化(Localization:L10N)
    一个国际化的程序,当它运行在本地机器时,能够根据本地机器的语言和地区设置显示相应字符
    
实现国际化思路:
    1.将程序中的提示信息、错误信息等放在资源文件中,为不同国家和地区编写对应资源文件
    2.资源文件由很多key-value组成,key保持不变,value随国家和地区不同而不同
    3.这些资源文件使用共同的基名,通过在基名后面添加语言代码、国家和地区代码来进行区分
        资源文件名                                    说    明
        ApplicationResources_en.properties        所有英文语言的资源
        ApplicationResources_zh.properties        所有的中文语言的资源
        ApplicationResources_zh_CN.properties    针对中国大陆的、中文语言的资源
        ApplicationResources_zh_HK.properties    针对中国香港的、中文语言的资源
        ApplicationResources.properties            默认资源文件,如果请求的资源文件不存在,将调用它的资源进行显示

资源文件的范围:(查找顺序:Action --> package --> 全局)
    1.全局资源文件
        a.所有包的所有Action类都可以访问
        b.导致资源文件变得非常庞大臃肿,不便于维护
        
    2.包范围资源文件
        a.对应包下创建package_language_country.properties
        b.处于该包及子包下的action才可以访问该文件

3.Action范围资源文件
        a.命名格式ActionClassName_language_country.properties
        b.只有单个Action可以访问

validate() 有缺陷

转发本鞥是redirect

OGNL与EL不能混用

时间: 2024-10-05 10:23:02

Struts(五)的相关文章

Struts(五)之OGNL、contextMap

一.OGNL 1.1.定义 OGNL是Object-Graph Navigation Language的缩写,它是一个单独的开源项目. Struts2框架使用OGNL作为默认的表达式语言.它是一种功能强大的表达式语言, 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性. 1.2.OGNL的功能 1.2.1.支持普通方法的调用 基础:<s:property value="">类

struts入门第二结

一.利用struts标签库 1.导入标签库:<%@ taglib prefix="s" uri="/struts-tags"  %> 2.主要为from表单: <s:form action="fromAct" method="post" namespace="/from"> <s:textfield name="name"  id="name&qu

Struts2笔记1

一.简介 1.作用于web层:Struts2是一种基于MVC模式的轻量级Web框架; 2.各文件夹简介: ?    apps:该文件夹存用于存放官方提供的Struts2示例程序,这些程序可以作为学习者的学习资料,可为学习者提供很好的参照.各示例均为war文件,可以通过zip方式进行解压. ?    docs:该文件夹用于存放官方提供的Struts2文档,包括Struts2的快速入门.Struts2的文档,以及API文档等内容. ?    lib:该文件夹用于存放Struts2的核心类库,以及St

Java EE之Struts2-2.5配置

开学以来,已经三周了.Java EE却不太走心,于是,这几日空杯心态,重新学习.复习了Java SE和Java Web开发技术,然后入手Struts2.为了使用最新版本的Structs2,我去官网下载了2.5版本的Struts2.,然后,然后,然后,就被坑了. 一.下载Struts2 官网:http://struts.apache.org/ [博主使用的是2.5] 二.创建Java Web Project [略] 三.配置web.xml[关键点] 在/WebRoot/WEB-INF/下新建web

Struts2 整合Spring(Maven,注解版)

这两天正在试验Struts2与Spring框架的整合,和他们各自的“注解”.今天就总结一下这两个框架怎么用注解进行整合. 一,加入两者的依赖包,除了两者的必要依赖外,还需要导入struts2-spring-plugin.jar来完成两者的整合. <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version&g

struts2-15-用户名校验

校验分为: 1:JavaScript  正则表达式 2:JavaEE中validation() 一:用户注册信息  UserDetails.jsp 1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib prefix="s" uri="/struts

struts2-19-合法用户上传文件

一:登录页面 成功:--->upload.jsp 失败:返回错误信息(用户名或者密码错误) 二:上传文件 登录成功:上传成功 未登录:--->login.jsp+错误信息(请登录) 三:设置拦截器  未登录不能上传文件  nuc.sw.interceptor--->loginIntercetor.java 1 package nuc.sw.interceptor; 2 3 import com.opensymphony.xwork2.Action; 4 import com.opensy

Struts2(一)— 入门

一.概述 1.什么是Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求

2、Struts2开始深入

一.Struts2的配置文件加载顺序 1 .进入过滤器[StrutsPrepareAndExecuteFilter]跟代码,可以看到对应的文件加载顺序 进入StrtsPrepareAndExecuteFilter,跟里面的init方法:       进入: 在进入:         init_DefaultProperties()                                ----加载default.properties init_TraditionalXmlConfigur