struts2
Terry_5008
这个作者很懒,什么都没留下…
展开
-
struts.valueStack (Action 中属性存放的原理)
//获取封装输出信息的 ValueStack 对象ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");//调用ValueStack的fineValue方法获取books属性值 String[] books = (String[])vs.findValue("books");...原创 2010-09-19 23:44:36 · 93 阅读 · 0 评论 -
Struts 2 的国际化(二)
二、 Struts 2 的国际化入门 Struts 2 国际化是建立在 Java 国际化的基础之上,一样也是通过提供不同国家/语言环境的消息资源,然后通过 ResourceBundle 加载指定 Locale 对应的资源文件,再取得该资源文件中指定 key 对应的消息。整个过程与 Java 程序的国际化完全相同,只是 Struts 2 框架对 Java...原创 2010-12-09 13:25:04 · 136 阅读 · 0 评论 -
Struts 2 的标签库(一)
一、 Struts 2 标签库概述 Struts 2 标签库大大简化了数据输出,也提供了大量标签来生成页面效果。 1.1 标签的优势 JSP 页面里大量嵌套 Java 脚本时,整个页面可读性下降,可维护性也下降。 从 JSP 规范 1.1 版以后,JSP 增加了自定义标签库的规范,通过自定义标签库,可以在简...原创 2010-12-13 13:47:33 · 85 阅读 · 0 评论 -
Struts 2 的标签库(二)
三、 控制标签 Struts 2 的非 UI 标签包括控制标签和数据标签,主要用于完成流程控制,以及操作 Struts 2 的 ValueStack。数据标签主要结合 OGNL 表达式进行数据访问。控制标签可以完成 流程控制,如分支、循环等,也可以完成对集合的合并、排序等操作。控制标签有如下 9 个: ● if : 控制选择输...原创 2010-12-15 16:21:49 · 94 阅读 · 0 评论 -
Struts 2 的标签库(三)
四、 数据标签 数据标签主要用于提供各种数据访问相关的功能。 包含如下几个: ● action : 用于在 JSP 中 直接调用一个 Action,通过指定 executeResult 参数,还可将该 Action 的处理结果包含到本页面中来● bean : 创建一个 JavaBean 实例,如果指定 var ,可放入 Stac...原创 2010-12-20 14:15:44 · 74 阅读 · 0 评论 -
Struts 2 的标签库(四)
六、 表单标签表单标签,分为 2 种 : form 标签本身和单个表单元素的标签。 6.1 表单标签的通用属性 所有表单标签处理类都继承了 UIBean 类, UIBean 包含了一些通用属性,这些通用属性分 3 种: ● 模版相关属性 ● JavaScript 相关属性 ● 通用属性 ${para...原创 2010-12-24 16:21:33 · 112 阅读 · 0 评论 -
Struts 2 的标签库(五)
6.8 select 标签以下代码 都是基于 6.3 select 标签用于生成一个下拉列表框,必须指定一个 list 属性,list 可以是集合,也可以是 map 常用属性: ● listKey : 指定集合元素中的某个属性(例如集合元素为 Person 实例...原创 2010-12-29 11:35:04 · 99 阅读 · 0 评论 -
Struts 2 的拦截器(一)
一、 理解拦截器拦截器可以动态地拦截发送到指定 Action 的请求,可以在 Action 执行的前后插入某些代码。通过这种方式,就可以把多个 Action 中需要重复指定的代码提取出来,放在拦截器里定义,从而提供更好的代码重用性。 1.1 理解 DRY 规则 在软件开发中,有一条非...原创 2010-12-31 16:53:29 · 72 阅读 · 0 评论 -
Struts 2 的拦截器(二)
四、 开发自己的拦截器 Struts 2 框架提供了许多拦截器,这些内建拦截器实现了 struts 2 的大部分功能。但还有一些系统逻辑相关的通用功能,则需要通过自定义拦截器来实现,比如我们可以开放自己的拦截器来完成权限控制,日志记录等。Struts 2 的拦截器系统是如此的简单、易用。 4.1 实现拦截器类 如果用户要开发自己的拦截...原创 2011-01-12 16:38:40 · 84 阅读 · 0 评论 -
Struts 2 的拦截器(三)
六、 拦截器示例 : 实现权限控制权限检查,当浏览者需要请求执行某个操作时,应用首先需要检查浏览者是否登录,以及是否有足够的权限来执行该操作 6.1 实现拦截器在这里会实现所有例子,后面章节在一一解释 本示例应用要求用户登录,且必须为指定用户名才可以查看系统中某个视图资源: 否则,系统直接转入登录页面。 对于上述的...原创 2011-01-20 13:09:24 · 72 阅读 · 0 评论 -
Struts 2 的 Ajax 支持(一)
一、 Ajax 概述 Ajax (Asynchronous JavaScript And XML),即异步 JavaScript 和 XML 技术,是 2006 年最风光的技术,AJAX 技术改进了传统 Web 技术;通过 Ajax 技术,浏览者与服务器之间采用异步通信机制,从而避免了浏览者的等待,带给浏览者连续的体验。 Ajax 技术是一种完全站在用户角度的技...原创 2011-01-20 14:55:18 · 107 阅读 · 0 评论 -
Struts 2 的 Ajax 支持(二)
四、 基于 Dojo 的 pub-sub 事件模型 pub-sub 是 publish-subscribe 的缩写,意思是 发布-订阅, 它提供了一种事件处理函数的注册方式。实际上, Struts 2 的 pub-sub 事件模型基本是采用了 Dojo 的 pub-sub 事件模型 4.1 p...原创 2011-01-27 14:08:33 · 76 阅读 · 0 评论 -
Struts 2 的 Ajax 支持(三)
5.2 submit 和 a 标签 a 和 submit 这 2 个标签的作用几乎完全一样,除了外在的表现不一样 ( a 标签生成一个超链接、submit 标签生成一个提交按钮) 。它们都是用于向服务器发送异步请求,并将服务器响应加载在指定的 HTML 元素中。使用这 2 个标签时可以指定...原创 2011-02-11 13:18:15 · 118 阅读 · 0 评论 -
Struts2 配置相关问题
一、 在 web.xml 配置 struts.xmlstruts-default.xml,struts-plugin.xml 系统默认必需加上,后面写自己的struts.xml位置 是从 WEB-INF 的 classes 开始计算struts.xml 的路径为WEB-INF/struts-configs/struts.xm...原创 2010-08-05 15:02:07 · 129 阅读 · 0 评论 -
Struts 2 的 Ajax 支持(四)
5.4 tabbedpanel 标签以下代码都基于 5.2 <sx:tabbedpanel /> 标签在 HTML 页面里面生成类似 Windows 程序的 Tab 页,通过使用 Tab 页,可以在有限的空间里放置更多的内容。 &l...原创 2011-03-14 16:21:27 · 89 阅读 · 0 评论 -
Struts 2 的国际化(一)
一、 程序国际化简介 国际化是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示不同的界面 1.1 程序国际化的意义 全球化软件,意味着同一种版本的产品能够容易地适用于不同地区的市场。软件全球化意味着国际化和本地化。 国际化是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示...原创 2010-12-06 22:44:50 · 69 阅读 · 0 评论 -
Struts2 上传和下载文件(三)
三、 同时上传多个文件 Struts 2 很方便实现多个文件上传,这个和之前上传单个文件并没有太大区别。下面介绍使用 数组 和 List 处理同时上传多个文件的方式 3.1 使用数组同时上传多个文件如果页面上有 3 个文件上传,正如前面介绍,当然可以为上传页面中的每个文件域指定 3 个属性:文件名、文件类型、文件内容。但这样会使...原创 2010-12-03 14:58:38 · 69 阅读 · 0 评论 -
struts2 获取 session 与 request 对象 以及用法
一。在struts2中,request和session都被隐藏了struts提供两种方式访问session和request,其中比较常用的是利用SPRING里面所说的IOC即控制反转IOC方式:action类实现ServletRequestAware接口,并新建一个HttpServletRequest requestpublic class User...原创 2010-09-20 10:14:51 · 127 阅读 · 0 评论 -
struts2 数据校验 ( Validateable,validation ) (1)
一。1.继承 ActionSupport ActionSupport 已经实现了 Action 接口,还实现了 Validateable 接口,提供数据校验功能。 在 Validateble 接口定义了一个 validate() 方法,重写该方法,如果校验表单输入域出现出错,则将错误添加到 ActionSupport 类的 fieldErrors 域中,...原创 2010-09-20 23:10:13 · 196 阅读 · 0 评论 -
struts.xml 详解(一)
一。常量配置 1.在struts2中配置常量的方式有三种: X 在struts.xml文件中配置 X 在web.xml文件中配置 X 在sturts.propreties文件中配置 注意: 1.之所以使用struts.propreties文件配置,是因为为了保持与WebWork的向后兼容 ...原创 2010-09-26 23:27:15 · 139 阅读 · 0 评论 -
struts2 配置 Action(一)
一。动态方法调用 Struts1 提供了 DispatchAction , 从而允许一个Action内包含多个处理逻辑。 Struts2 也可以用 DMI(Dynamic Method Invocation)调用来处理这种请求。 login!regist.action <%@ page conte...原创 2010-09-27 22:48:37 · 65 阅读 · 0 评论 -
struts2 配置 Action(二)
一。Action 配置结果 <action name="Login" class="lee.LoginAction"> <!-- 为success 的逻辑视图配置 Result ,type 属性指定结果类型 --> <result name="success" type="dispatcher">原创 2010-09-28 13:14:11 · 60 阅读 · 0 评论 -
struts2 配置 Action(三)
一。模型驱动 Struts2 可以把请求参数放在 action 中 , 也可以像 Struts1 一样 使用 form 和 action 对应。 模型驱动的含义:使用模型封装了所有的数据,贯穿整个 MVC 流程;模型的作用是封装用户的请求参数和处理结果。public class UserBean{ private String us...原创 2010-10-07 10:16:18 · 81 阅读 · 0 评论 -
struts2 类型转换 (一)
一。struts2 内建的类型转换器。 对于大部分的常用类型,开发者根本无需创建自己的类型转换器,因为struts2可以完成大多数常用的类型转换。这些常用的类型转换是通过struts2内建的类型转换器完成的,struts2已经内建了字符串类型和如下类型之间的类型转换器。 boolean和Boolean: 完成字符串和布尔值之间的转换。 char和...原创 2010-10-08 10:25:11 · 102 阅读 · 0 评论 -
struts2 类型转换 (二)
九。类型转换中的错误处理 实际上,表现层数据涉及的 2 个处理: 数据校验和类型转换;只有当输入数据是有效数据时,系统才可以进行有效的类型转换。因此,可以进行有效的类型转换是基础,只有当数据完成了有效的类型转换后,下一步才去做数据校验。 1. 类型转换错误的处理流程 Struts 2 提供了一个名为 ...原创 2010-10-12 12:55:24 · 81 阅读 · 0 评论 -
struts2 输入校验 (一)
一、前言 1. 客户端校验 客户端校验就是通过 javascript 在数据收集页面进行初步过滤<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTM...原创 2010-10-27 00:01:25 · 83 阅读 · 0 评论 -
struts2 输入校验 (二)
二、 基本输入校验 MVC 框架必须处理 2 方面问题,类型转换和输入校验。之前已经看过 Servlet 以硬编码的方式进行输入校验。 Struts 2 提供了基于验证框架的输入校验,所有的输入校验只需要通过指定简单的配置文件即可 1. 编写校验规则文件 regist.jsp<body>...原创 2010-10-28 11:01:14 · 108 阅读 · 0 评论 -
struts2 输入校验 (三)
五、 内建校验器 Struts 2 提供了大量的内建校验器,可以满足大部分应用校验需求。如果应用需要特别复杂的校验需求,开发者可以开发自己的校验器 1. 注册校验器 xwork-2.1.2.jar 文件 , com/opensymphony/xwork2/validator/validators 路径下有...原创 2010-11-08 13:25:30 · 100 阅读 · 0 评论 -
struts2 输入校验 (四)
六、 手动完成输入校验 对于一些特殊的检验要求,可能需要在 Struts 2 中进行手动校验。Struts 2 提供了良好的可扩展性,从而允许手动完成自定义校验 1. 重写 validate() 方法 要求 name 请求参数的值包含 leegang 字符串,现在通过从写 ActionSupport 类的 validate() 方法进行校验:...原创 2010-11-15 22:43:05 · 107 阅读 · 0 评论 -
Struts2 上传和下载文件(一)
一、 文件上传的原理 1. 表单元素的 enctype 属性 表单的 enctype 属性指定的是表单数据的编码方式,该属性有 3 个值: 1. application/x-www-form-urlencoded : 这是默认的编码方式,它只处理表单域里的 value 属性值,采用这种编码方式的表单会将表单域的值处理成 ...原创 2010-11-17 22:28:55 · 91 阅读 · 0 评论 -
Struts2 上传和下载文件(二)
二、 Struts 2 的文件上传 Struts 2 并未提供自己的请求解析器,它需要调用其他上传框架来解析二进制请求数据。但 Struts 2 在原有的上传解析器基础上做了进一步封装,简化了文件上传 2.1 Struts 2的文件上传支持 在 Struts 2 的 struts.properties 配置文件中,可以看到上传文件...原创 2010-11-29 13:37:42 · 86 阅读 · 0 评论 -
Struts1 与 Struts2 的12点区别
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute...原创 2011-11-16 11:14:37 · 64 阅读 · 0 评论