
Struts
keveoniteye
这个作者很懒,什么都没留下…
展开
-
Struts2中的Action访问Servlet API
Struts2的Action并未直接与任何Servlet API耦合,要想访问Servlet API,可以通过ActionContext这个类来实现:在action中定义如下方法: public String actionContext() { ActionContext ctx = ActionContext.getContext(); ctx.getApplicati...2011-04-13 12:08:35 · 66 阅读 · 0 评论 -
struts2--国际化入门
如果我们的项目需要支持多国语言,则我们需要对项目进行国际化,下面简单介绍一下Struts2中为我们提供的国际化功能,仅作为入门知识 Struts2中的国际化资源文件分为以下3种:1、全局范围的国际化 首先我们需要编写国际化资源文件,资源文件的命名如下: baseName_language_country.propertie...原创 2013-03-28 20:32:06 · 94 阅读 · 0 评论 -
Struts2--自定义拦截器
为什么会有拦截器:许多Action都需要做一些相同的事情,比如说登录验证,表单输入验证,上传文件时的初始化操作,而有些Action则需要在页面显示前做一些预先填充数据的准备,这些需求在项目中都是很常见的,设想一下,如果在每个action都做一些重复性的功能逻辑,这样实现即繁琐,又违背了软件复用的思想,所以为了解决这个问题,Struts2的设计者们把这些共有的逻辑独立出来,实现成一个个的拦截...原创 2013-03-27 16:50:31 · 104 阅读 · 0 评论 -
Struts2--为应用指定多个struts配置文件
在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿。为了避免struts.xml文件过于庞大、臃肿,提高struts.xml文件的可读性,我们可以将一个struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。下面的struts.xml通过<include>元素指...原创 2013-03-21 16:56:21 · 89 阅读 · 0 评论 -
Struts2--工作流程
下图描述了Struts 2 的整体结构 1、 在上图中客户端初始化一个指向Servlet容器(例如 Jetty 或者Resin)的请求2 、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 、接着Fil...原创 2013-03-21 16:12:57 · 102 阅读 · 0 评论 -
Struts2--为Action的属性注入值
Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。下面举例说明:配置文件如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software ...原创 2013-03-13 14:08:17 · 82 阅读 · 0 评论 -
struts2--Action名称的搜索顺序
1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action 2.首先寻找namespace为/path1/path2/path3的package,如果不存在这个package则执行步骤3;如果存在这个package,则在这个package中寻找名字为test的action,当在该package下寻找不到...原创 2013-03-12 14:45:49 · 110 阅读 · 0 评论 -
Struts2--HelloWorld
因为struts2是通过filter启动的,而web.xml配置文件中的StrutsPrepareAndExecuteFilter的init()方法会读取类路径下默认的配置文件struts.xml完成初始化操作,故我们需要首先配置struts.xml文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PU...原创 2013-03-12 10:38:53 · 101 阅读 · 0 评论 -
Struts2--环境搭建
Struts的环境搭建,分为以下步骤:1、到http://struts.apache.org/download.cgi#struts221下载struts-2.3.8-all.zip,下载完成后,解压该文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下,使用struts-2.3.8开发应用,最少需要依赖的jar见附件 2、接下来需要编写Struts2的配置文...原创 2013-03-11 20:21:21 · 94 阅读 · 0 评论 -
Struts2中的类型转换器
在html表单中的文本框里输入的不管是数值类型还是字符类型,最后都是以String类传到后台。如果后台bean的属性是int、double等,Struts2就会自动把字符类型转换成相应的类型。但是对于复杂类型如日期类型,那么Struts2不会自动进行类型转换,这时就需要我们自己动手编写一个Converter类进行类型转换。 Struts中有两种类型转换器,分别是局部类型转换器和全局类型转...2011-04-12 20:40:08 · 129 阅读 · 0 评论 -
Struts2--动态方法调用和使用通配符定义action
struts2中的动态方法调用(Dynamic method Invoc)--2.0后的版本不推荐使用 struts2中无需配置就可以直接调用Action中非execute方法的方式,就是用struts2的动态方法调用。动态方法调用是在action的名字中使用感叹号(!)来标示要调用的方法名,其语法格式为actionName!methodname.action,例如我们的strut...2011-04-11 18:09:50 · 150 阅读 · 0 评论 -
Struts2--result配置的各种视图转发类型
Strust2中的几种视图转发类型:1. dispatcher:服务器端跳转到页面,通常来处理JSP,默认类型。 2. redirect:客户端(浏览器)重定向到页面,下面举个例子说明一下redirect视图转发,需要注意的是,由于是浏览器进行重定向,所以要把重定向的页面放在WebContent下面,否则无法访问下面是struts.xml配置文件:<package n...原创 2011-04-10 18:31:28 · 120 阅读 · 0 评论 -
struts-config里action-mappings元素里的attribute属性用途
以下几点是网上的一些关于attribute的解释:1)应用前提,attribute只有在设置了name后才有意义。2)attribute可以实现对象的重用,即如果设置了attribute属性,在创建actionform是,会先去查找相应的scope中是否有此对象,如果有,则重用,否则创建新的对象。3)当你将创建的acitonForm保存到相应的scope(默认是保存在session中)中时,你...原创 2011-04-09 21:40:07 · 119 阅读 · 0 评论 -
Struts2--上传文件
文件的上传和下载是Web应用中常用的功能。一般情况下可以通过使用二进制编码的方式来获得请求参数的值,从而通过二进制流来获得上传文件内容。这种手动编程方式比较麻烦,需要手动地控制二进制流,相当复杂。不过可以使用其他开源组织提供的上传项目来简单地完成文件上传。下面通过Struts2框架来完成文件的上传。 第一步:在WEB-INF/lib下加入commons-fileuploa...原创 2011-10-15 19:52:47 · 80 阅读 · 0 评论 -
Struts2接收请求参数
采用基本类型接收请求参数(get/post)在action类型定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。请求路径:http://localhost:8080/Struts2/test/hello?id=123&name=struts2action类:package cn.itcast.action;public class H...原创 2011-10-08 20:42:10 · 106 阅读 · 0 评论 -
Struts2--指定需要Struts2处理的请求后缀
默认情况下我们都是使用.action后缀访问Action。其实默认后缀是可以通过常量”struts.action.extension“进行修改的,例如:我们可以配置Struts 2只处理以.do为后缀的请求路径: <struts> <constant name="struts.action.extension" value="do"/></s...原创 2011-10-08 19:22:15 · 86 阅读 · 0 评论 -
Struts2为Action的属性注入值
Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。 package cn.itcast.action;public class HelloWorldAction { private String savePath; public void...原创 2011-10-08 19:07:05 · 166 阅读 · 0 评论 -
Struts2--输入校验
由于web的开放性,网络上的所有的浏览者都可以自由使用某个应用,为了防止非法输入进入系统,有必要需要对用户的输入进行校验,其中输入校验又分为客户端校验和服务器端校验,客户端校验主要通过JavaScript代码完成,服务器端校验主要通过在应用中编程实现。这里主要对服务器端校验进行说明一下,Struts2为我们提供了两种服务器端的校验:下面通过用户注册简单说明一下如何利用Struts2为我们提...2011-04-15 19:38:31 · 116 阅读 · 0 评论 -
Struts2--OGNL表达式
OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。 OGNL有一个上下文(Context)概念,说白了上下文...原创 2013-03-30 17:27:22 · 89 阅读 · 0 评论