`
文章列表
10.4  内建验证器 10.4.1概述 Struts2的验证框架已经为我们建立了足够多的内建验证器,以满足不同的验证要求,接下来就来逐一学习这些内建的验证器。        Struts2的内建验证器的声明文件被放置在xwork-core-2.1.6.jar文件中,其位置为/com/opensymphony/xwork2/validator/validators/default.xml,内容为:   java代码:
10.3  验证器类型 可以把验证器类型分为两种:字段验证器和动作验证器。其中,字段验证器就像前面演示的那样,只验证提交的表单内的单个字段;而动作验证器一般验证提交的表单内的多个字段的关系,比如,录入产品信息的时候,产品的进价不能高于售价。 无论是哪种验证器,都需要考虑以下几个问题: 验证谁? 使用什么条件验证? 不满足条件显示什么结果? 不满足验证条件时显示的结果出现在页面的什么位置? 10.3.1字段验证器 字段验证器用来验证提交的表单内的单个字段,如同前面的示例,在验证文件里:   java代码:
10.2  验证框架入门 10.2.1准备基础资源 通过示例来初步学习一下如何使用Struts2的验证框架,只简单的做这样一个用户注册的功能:用户注册的时候只需要填写自己的账号、姓名、年龄,其中,账号和姓名要求必填,年龄要求必填而且在18岁以上。 1:封装用户注册信息的域对象 ta�Ktr�-�8%�t;text-justify-trim:punctuation'> 10.2.1准备基础资源   java代码:
10.1  验证框架的作用 对于企业级的应用而言,服务器端验证是必不可少的。在任何一个真实的业务逻辑被调用之前,都需要验证用户提交的数据是否满足要求,比如是否填写、是否符合格式要求、数据的相关性是否正确等等。 Struts2提供了验证框架,功能强大而且简单易用,帮助我们做了很多事情,使得我们不必再从头开发了。那么,一个好的验证框架都需要考虑些什么呢? 验证功能的复用性。比如,要验证用户填入的年龄是否是18岁以上;要验证用户填入的订单金额是否在1000元以上等等。很显然,它们都是对一个int来验证取值的范围。因此,如果验证功能抽象的好,就可以复用同样的验证功能,省去重复开发的麻烦。 ...
9.6  指定语言信息的不同方式 9.6.1概述 在本节开始之前,请读者把包级别的国际化信息删掉,仅保留全局级别的国际化信息。        在9.3.3小节中,已经学过修改、使用浏览器语言设置的方式了,这里就不赘述了。接下来看看其它的方式 9.6.2 Struts2的常量设置 还可以使用Struts2的常量设置来覆盖浏览器的语言设置。比如前面的示例,在struts.xml中加上struts.locale这个常量,值为需要使用的语言,示例如下:   java代码:
9.5  Struts2访问国际化信息的不同方式 为了示例的简洁,删除在9.4节中添加的I18NAction_zh_CN.properties文件和package.properties文件,只保留全局级国际化信息资源文件。并在message.properteis中增加一个带有参数的国际化信息。   java代码: 查看
9.4  资源文件读取顺序 在进入具体示例之前,先来写一个Action,然后配置9.3.2节中的jsp作为这个Action的结果页面,好方便本节知识的示范。        这个Action非常的简单,什么都不做,只是让execute方法返回SUCCESS即可。示例代码如下:   java代码: 查看
9.3  Struts2中的国际化入门 9.3.1引用国际化信息资源文件 要使用Struts2来实现国际化的支持,同样先来准备国际化信息资源文件,把三个国际化资源信息文件恢复到最初始的状态: (1)默认语言文件:message.properties   java代码:
9.2  Java内置的国际化 Struts2的国际化也不是无本之木,它依赖于Java内置的国际化机制,只是在Java内置的国际化机制的基础上增加了跟Struts2其他组件的融合,使得其他组件也可以非常方便的使用国际化。 9.2.1 Java内置的国际化入门 1:准备国际化信息文件 Java内置的国际化,以java.util.ResourceBundle和java.util.Locale两个类为中心。其中, java.util.Locale负责选择合适的语言,而java.util.ResourceBundle负责根据注入的java.util.Locale对象来选择国际化信息的来 ...
9.1  概述 国际化(Internationalization),通俗点讲就是让软件实现对多种语言的支持,可以通过简单的设置让软件支持的语言从一种切换到另一种。 当然,最直观的就是界面显示了,比如一个实现了国际化的软件,可以很容 ...
8.4  UI标签 8.4.1概述 UI标签是用来生成Web界面,或者为Web界面提供某些功能支持的标签,比如:表单标签就是把各种途径获取的需要展示的数据,通过动态生成HTML的形式展示到界面上。 UI标签分成如下几种: Form Tags:表单标签,包含所有可以用在Form表单里面的标签 Non-Form UI Tags:非表单标签,主要包含错误展示、组件等 Ajax Tags:用来支持Ajax的标签,这个在后面有专门的章节来学习 8.4.2 模板和主题 在进入具体的UI标签学习之前,有必要先理解主题和模板的概念,这对使用Struts2的UI标签非常重要,因为St ...
8.3  控制标签 控制标签关注程序的运行流程,比如用if/else来进行分支控制,用iterator来进行循环控制。接下来就来学习Struts2的控制标签。 8.3.1 if、elseif与else标签 1:if标签的功能:        类似于Java程序中的if,用来 ...
8.2  数据标签 数据标签更关注如何从值栈上取值或者向值栈赋值。 8.2.1 property标签 1:功能: 用来输出OGNL表达式的值。 2:属性        property标签的主要属性: value:用来获取值的OGNL表达式,如果value属性值没有指 ...
8.1  Struts2的Taglib概述 8.1.1概述 Struts2自带了一套非常强大的标签库,不仅自身功能强大,而且与Struts2中的其它部分无缝结合。在学习之前,先来简要回忆一下标签到底是干什么的? 估计大多数朋友都使用过JSTL,那自然熟悉JSTL的核心标签,也就是c标签。在JSP页面上使用标签,可以分离JSP上的Java代码与HTML。其中HTML用来管理把数据展现在哪儿,而Java代码用来获取数据。 先来看一个例子,如果现在request的user属性上有一个放好的UserModel,如果不使用标签,直接用Java代码来访问数据,将会写出如下的代码:   ...
7.4  ActionContext和ServletActionContext 7.4.1  再探ActionContext 前面已经了解到ActionContext是Action执行时的上下文,里面存放着Action在执行时需要用到的对象,我们也称之为广义值栈。        Struts2在每次执行Action之前都会创建新的ActionContext,在同一个线程里ActionContext里面的属性是唯一的,这样Action就可以在多线程中使用。 1:ActionContext的线程安全性        那么Struts2是如何保证ActionContext的线程 ...
Global site tag (gtag.js) - Google Analytics