`
文章列表
    13.1  文件上传 13.1.1  概述 在开发基于Web的应用的时候,经常会碰到需要实现文件上传、下载的功能,比如编辑某个商品,需要给它上传一个图片等等。 不使用Struts2的话,可以有很多种方式来实现文件上传,比如使用Apache的Common-FileUpload等。但是这些传统的方式,实现起来非常麻烦,需要写很多代码来进行控制。 现在使用Struts2来实现文件上传的功能,会更加简单和方便,事实上,Struts2的文件上传功能,默认就是基于Common-FileUpload来实现的,只不过比直接使用Common-FileUpload来得更简单 ...
12.6  加入拦截器 12.6.1  回顾拦截器 拦截器是Struts2的核心概念,可以在Action运行之前或Result运行之后执行一些共通的任务。 虽然学过了,但是还从来没有使用过,接下来,我们就来为这个示例添加一个自定义的拦截器,实现如下的功能:可以打印出所调用的Action,调用Action的哪个方法,所有的request参数,以及最后要跳转到哪个页面。这样有利于调试,不需要对Action或JSP的代码有任何变化,就可以在控制台里清楚的看到整个提交的细节。        还是首先回忆一下拦截器的相关知识: 编写自定义拦截器要实现Interceptor接口,在其中 ...
  12.5  加入验证 12.5.1  回顾验证框架 现在可以使用Struts2的验证框架,在真正调用Action的处理方法之前,来验证用户输入的信息是否符合要求。        使用验证框架要考虑四点: 在哪儿指定验证信息?最常见的是在Action的同包下建立Action名- validation.xml,但是,现在的UserAction同时负责响应多种请求,所以,要用Action名-别名-validation.xml的方式来指定验证信息。其中的别名就是在struts.xml中注册的<action>元素的name属性。 怎么指定验证信息? l      ...
12.4  加入国际化信息 12.4.1  回顾国际化信息 接下来给上面的示例加上对国际化信息的支持。 先来回忆一下国际化信息的基本知识,国际化信息的知识分成三大部分: 如何配置国际化信息? l         全局级别。 ...
2.3  使用Struts2来实现表现层 12.3.1  将一组相关的Action类合成一个 在前面学习的时候,每个Action类都只对应一个单独的web请求,那么,这样做会带来什么问题呢?        先想一下,用户在添加页面上点击添加按钮之后,会发生什么事呢?Struts2会提交到负责添加的Action中,这个Action只是接收前一个页面传过来的数据,然后把它填入数据库就可以了,所以,可以这样写:   java代码:
12.2  实现域对象和数据层 12.2.1  建表和域对象 在示例中只需要管理用户的基本信息,用户编号(userId)、姓名(name)、性别(sex)、年龄(age)即可,在mysql中,可以用下面的语句建表:   java代码: 查看复制到剪贴板
《研磨struts2》第十二章 CRUD综合运用 之 12.1 概述 收藏浏览(132)|评论(0)   交流分类:Java|笔记分类: 研磨struts2     编辑 | 删除 | 锁定 
11.4  类型转换器引用方式 11.4.1全局级类型转换器引用 在上一节中,使用的就是全局级类型转换器引用。简单回顾一下,在src下建立一个xwork-conversion.properties文件,这个文件中用“全类名=这个类对应的类型转换器全类名”,来建立类和类型转换器的关系。示例:   java代码: 查看复制到剪贴板
11.3  自定义类型转换器 11.3.1概述 虽然内建类型转换器能满足绝大多数的需求,但是,有的时候还是需要使用自定义类型转换器来实现特定的需求。 还是用前面的长方形来说明,如果用两个文本框分别输入长方形的高和宽,整个类型装换都没有问题,它可以工作的很好。 但是,如果我们想在一个文本框内同时输入宽和高(width:height),形如16:9,这个时候就需要自定义类型转换器了。 11.3.2实现自定义类型转换器 自定义类型转换器的实现非常简单,写一个类,继承StrutsTypeConverter抽象类,该类在org.apache.struts2.util包内,这个抽象类 ...
11.2  内建类型转换器 Struts2内建的类型转换器能处理绝大多数的需求,只有极特殊情况才需要自定义类型转换器。在这一节中就一起来看看Struts2的内建类型转换器都可以完成哪些工作。 11.2.1简单类型 Struts2已经内置了基本数据类型及其包装类和其他一些常见的用于表示数字/日期类型的类型转换器,包括: int/Integer:整数型 short/Short:短整数型 long/Long:长整型 float/Float:浮点型 double/Double:双精度型 boolean/Boolean:布尔型 byte/Byte:字节型 char/Cha ...
11.1  类型转换的作用 11.1.1类型转换的作用 在Web应用中,页面提交请求的参数都是字符串类型的。但是在以前的学习中,我们都是直接在Action中按照需要来定义属性的类型,比如private int age,也没有出错,照样运行啊,而且还能正确运行呢,这是怎么回事情呢? 这就是由Struts2的类型转换框架默默的帮助我们完成的功能,只要用户输入的数据能合理的转换为需要的属性的类型,Struts2的类型转换框架就会在execute方法执行之前,替我们将参数转换为合适的类型。 因此,前面的示例中,在注册页面输入了帐号、名称和年龄,点击提交过后,类型转换的框架会把提交的年龄 ...
11.1  类型转换的作用 11.1.1类型转换的作用 在Web应用中,页面提交请求的参数都是字符串类型的。但是在以前的学习中,我们都是直接在Action中按照需要来定义属性的类型,比如private int age,也没有出错,照样运行啊,而且还能正确运行呢,这是怎么回事情呢? 这就是由Struts2的类型转换框架默默的帮助我们完成的功能,只要用户输入的数据能合理的转换为需要的属性的类型,Struts2的类型转换框架就会在execute方法执行之前,替我们将参数转换为合适的类型。 因此,前面的示例中,在注册页面输入了帐号、名称和年龄,点击提交过后,类型转换的框架会把提交的年龄 ...
10.7  验证器框架的查找顺序 10.7.1  验证器框架的查找顺序 Struts2的验证框架为了使验证信息通用,指定了较为复杂的验证继承关系,当验证框架需要验证一个Action的时候,会按照以下的优先级收集验证信息: 父类-validati ...
10.6  引用验证器返回的错误信息 10.6.1引用验证器返回的错误信息 在以前的学习中,已经接触到了如何引用验证器返回的错误信息,现在来全面的整理一下如何引用验证器返回的错误信息。 引用字段验证错误有两种方式: 对于字段验证错误来说,在<s:form>使用xhtml风格的时候,<s:textfield/>标签会将这个字段的错误信息显示在这个文本框的上边。 还可以用<s:fielderror/>标签来将字段验证错误的错误信息显示在指定位置,如果不指定其fieldName属性则会显示所有的错误,如果指定了fieldName属性则会显示指定 ...
10.5  自定义验证器 10.5.1概述 虽然Struts2的内建验证器可以完成绝大多数的验证需求,但是,有的时候还是需要个性化定制一些自定义的验证器。        以一个示例来说明吧。来实现一个不接受中文字符的验证器,比如 ...
Global site tag (gtag.js) - Google Analytics