Struts2
文章平均质量分 78
Owen William
这个作者很懒,什么都没留下…
展开
-
Struts2之Action的基本配置
毋庸置疑,Action的配置就是struts.xml的文件中。其配置的信息是在的节点内部。对于我们先看以下的一个例子,然后来进行分析。1.1动态方法调用对于Action的配置来说,是少不了name的属性,该属性既是Action的名字,也指定了该Action所处理的请求的URL。而对于动态的方法调的Action, 是不提倡应用的,在项目中能不用的尽量不使用。action=”action原创 2016-02-20 20:06:53 · 358 阅读 · 0 评论 -
Struts2之文件下载
Struts2的文件下载Action与普通的Action并没有太大的不同,仅仅是该Action需要提供一个返回InputStream流的方法,该输入流代表了被下载文件的入口。FileDownloadAction.java如下public class FileDownloadAction extends ActionSupport{ // 该成员变量可以在配置文件中动态指定该值 priv原创 2016-02-24 20:41:25 · 653 阅读 · 0 评论 -
Struts2之result的配置
配置元素时通常需要指定如下的两个属性:1. name:该属性指定所配置的逻辑视图2. type:该属性指定结果类型 <result name=”success” result=”dispatcher”>/WEB-INF/content/welcome.jsp /WEB-INF/content/{1}.j原创 2016-02-20 20:10:39 · 379 阅读 · 0 评论 -
Struts2之访问ServletAPI
1.1Action访问方式(一)对于WEB应用的控制器而言,不访问ServletAPI几乎是不可能的,例如跟踪HTTPSession状态等。Struts2框架提供了一种更轻松的方式访问Servlet API。WEB应用中通常需要访问Servlet API就是HttpServletRequest、HttpSession、ServletContext,这三个接口分别代表JSP内置对象中的reque原创 2016-02-20 20:02:43 · 412 阅读 · 0 评论 -
Struts2校验器(二)之注解
为了在Action类通过指定验证规则,只要使用验证器注解修饰Action里各成员对应的setter方法即可。public class RegistAction extends ActionSupport{ // 定义4个成员变量封装请求参数 private String name; private String pass; private int age; private Date原创 2016-02-23 20:43:22 · 927 阅读 · 0 评论 -
Struts2之拦截器
1. 拦截器与Action的关系Struts2框架的绝大部分功能都是通过拦截器来完成的,当StrutsPrepareAndExcuteFilter拦截到用户请求之后,大量拦截器将会对用户请求进行处理,然后才会调用用户开发的Action实例的方法处理请求。拦截器与Action之间的关系如下图。2. 配置拦截器1) 简单配置。原创 2016-02-23 22:49:26 · 463 阅读 · 0 评论 -
Struts2的标签库(二)之数据标签
数据标签主要用于提供各种数据访问相关的功能,包含显示一个Action里的属性,以及生成国际化输出等功能。1.1 action标签该标签用于在JSP页面直接调用一个Action,通过指定executeResult参数,还可以将Action处理结果包含到本页面中来。该标签有如下几个属性:1. var: 这是一个可选属性,一旦定义了该属性,该Action将被放入Stack Co原创 2016-02-21 15:20:48 · 560 阅读 · 0 评论 -
Struts2标签库(四)之非表单标签
非表单标签主要用于在页面中生成一些非表单的可视化元素,例如Tab页面、输出HTML页面的树形结构等。1.1 actionerror和actionmessage标签actionerrror和actionmessage这两个标签用法完全一样,作用也几乎一样,都是负责输出Action实例里封装的信息:区别是actionerror标签负责输出Action实例的getActionError()方法的原创 2016-02-21 15:34:34 · 631 阅读 · 0 评论 -
Struts2之OGNL类型转换
OGNL表达式允许开发者无须任何特殊处理,只需要在定义表单域时使用OGNL表达式来定义表单域的name属性。这个时候的表单域的name的属性不是一般的值。例如,定义个User的对象,那么表单域中namer 属性可能是name.name和name.pass形式,这种就是OGNL的表达式。1.普通例子1) 定义:LoginAction.javapublic class原创 2016-02-22 23:30:52 · 558 阅读 · 0 评论 -
Struts2之自定义转换器
1. 继承DefaultTypeConverter接口继承DefaultTypeConverter的接口是地,需要去实现的方法是convertValue(Map context,Object value,Class toType).这个方法该方法作用最简单,负责完成类型的转换,不过这种转换是双向的。toType类型是需要转换的目标类型,当toType类型是User类型时,表明需要将字符串转换原创 2016-02-22 23:35:09 · 418 阅读 · 0 评论 -
Struts2之类型转换中的错误
1. 处理类型转换错误在Web的应用中,表现层主要涉及到数据校验和类型转换,这两个是紧密相关的。在实际中,只有通过了类型转换,下一步才会去实现数据上的校验。那么今天,笔者将向大家介绍关于Struts2的类型转换的应用。主要是通过例子来说明,例子的应用大概是在页面中输入用户名、密码、生日,然后校验通过后才可进入数据校验。1) 创建一个LoginAction.java,这个Act原创 2016-02-22 23:40:29 · 1859 阅读 · 0 评论 -
Struts2校验器(一)之规格文件
这里所讲的校验器主是输入校验器,也是用户通过Web界面以起请求时,需要校验用户输入的信息。最简单的例子,就是用户登录,我们要规定符合的用户和密码的格式。在普通的开发中,我们会用JavaScrip来处理这样的事件,然而,Struts2提供了基于验证框架的输入校验,在这种校验方式下,所有的输入校验只需要编写简单的配置文件,Struts2的验证框架将会负责进行服务器校验和客户端校验。其中,struts2原创 2016-02-23 20:41:23 · 721 阅读 · 0 评论 -
Struts2之入门
对于Struts2应用的开发者而言,Action才是应用的核心,开发者需要提供大量的Action类,并在struts.xml文件中配置Action.Action类里包含了对用户请求的处理,Action类也被称谓控制器。1.1简单的Struts2应用1. 在web.xml文件中定义核心Filter来拦截请求。在服务启动时,web的容器将会自动去加载struts2的相关配置。原创 2016-02-20 19:58:33 · 451 阅读 · 0 评论 -
Struts2之国际化
Struts2的国际化的步骤与Java国际化的步骤基本相似,只是实现更加简单Strut2的国际化可以按如下步骤进行。1. 让系统加载国际化资源。加载国际化资源文件有两种方式。1) 自动加载:Action范围的国际化资源文件、包范围的国际化资源文件由系统自动加载。2) 手动加载:JSP范围的国际化资源文件、全局范围的国际化资源文件,分别使用标签、原创 2016-02-20 21:59:40 · 572 阅读 · 0 评论 -
Struts2的标签库(一)之控制标签
Struts2的非UI标签包括控制标签和数据标签,主要用于完成流程控制,以及操作Struts2的ValueStack。数据标签主要结合OGNL表达式进行数据访问。今天笔者主要向大家介绍的是控制标签,下一节将会讲解数据标签。1.1 if/elseif/elseif/elseif/else这三个标签都是用于进行分支控制的,它们都用于根据一个boolean表达式的值,来决定是否计算、输出标签体的原创 2016-02-21 15:14:54 · 597 阅读 · 0 评论 -
Struts2标签库(三)之表单标签
1.1 checkboxlist标签checkboxlist标签可以一次创建多个复选框,用于同时生成多个的HTML标签。它根据list属性指定的集合来生成多个复选框,因此,使用该标签指定一个list属性。如下是常用的两个属性。1. listKey:该属性指定集合元素中的某个属性(例如集合元素为Person实例,指定Person实例的namen属性)作为复选框的value。如果原创 2016-02-21 15:27:32 · 2006 阅读 · 0 评论 -
Struts2之文件上传
为了能上传文件,必须将表单的method设置为POST,将entypr设置为multipart/form-data。只有这样情况下,浏览器都会把用户选择文件的二进制数据发送给服务器。同时,在项目下的lib文件下导入commons-io-2.2.jar和commons-fileupload-1.3.1.jar。如果表单中包含一个name属性xxx的文件域,则对应Action需要使用三个成员变来封装该原创 2016-02-24 20:36:42 · 517 阅读 · 0 评论