- 浏览: 1595500 次
- 来自: 上海
-
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
文章列表
1.拦截器注解
Struts2在com.opensymphony,xwork2.interceptor,annotations 包中定义了3个拦截器注解类型。从而可以直接通过注解的方式,来指定action执行之前和之后需要调用的方法。
Struts2提供的3个拦截器注解类型如下:
Before:
标注一个Action方法,该方法在执行Action处理(例如:execute())执行之前调用。如果标注的方法有返回值,并且不为 null 那么这个返回值将作为Action的结果代码。
After:
标注一个Action方法,该方法将Action的处理方法执行之后被调用,如果标注的方法有 ...
Struts2 配置Action(二十六)
- 博客分类:
- Struts
1.在struts.xml文件中,通过配置<action>元素来对Action进行配置。<Action>元素的常用属性有:
name:用来指定客户端发送请求的地址映射名称
class:用来指定进行业务逻辑处理的Action名称
method:用来指定进行业务逻辑处理的Action中的方法名称
a) Action中的class没有写 默认就是ActionSupport;
b) Action中的method没有写 默认是execute();
c) Result中的name属性没有写 默认是 success;
例如:
<package name="struss ...
1.通过IOC方式直接访问Servlet API
在Struts2中,通过,Ioc方式将Serlvet对象注入到Action中,具体实现是一组接口觉得,要采用Ioc方式,必须在Action中实现一下接口:
ApplicationAware :以Map类型向Action中注入保存在ServletContext中的Attribute集合。
SessionAware: 以Map类型向Action注入保存在HttpSerssoin中的Attribute集合
CookiesAwate:以Map类型向Action中注入Cookie中的数据集合。
ParameterAware:向Action中 ...
1.在web中需要访问的Servlet API 是HttpServletRequest,HttpServletSession,ServletContext 这3个类代表了JSP的内置对象的request session application
下面是间接访问Srevlet API(后一章会直接访问Servlet API)
2.ActionContext类
创建实例化对象 是
ActionContext ac=ActionContext.getContext();
在ActionContext中有一些常用的方法:
Map getApplication();
Map getParameter ...
1.什么是拦截器?
拦截器(interceptor) 是动态拦截Action调用的对象,在执行Action的业务逻辑处理方法execute 之前 ,Struts2中会首先执行struts.xml中引用的拦截器。
Action拦截器
2.做登录拦截用户名是否输入 两种不通的拦截器
LoginInterceptor.java
package com.sh.interceptor;
import java.util.Map;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionCon ...
1.演示除数异常
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 定义国际化资源文件的基 ...
1.在传统的Java程序中,所有的异常对象的根类是Throwable,从Throwable类直接派生的异常类有Exception 和 Error。
对于Exception 异常处理的过程,一般通过try{} catch{} finally语句或者使用throws Exception 来捕获异常。在应用程序中,Exception异常和从她派生出来的所有异常,都可以通过catch语句捕获。
2.自定义2个异常
package com.sh.exception;
public class MyException extends Exception {
public MyExceptio ...
国际化资源文件的搜索顺序 :action-->package--->parent package--->全局
先说,采用临时文件和 i18n 标签来访问多个范围内的资源文件
要在jsp页面同时应用多个范围的资源文件,就采用 i18n 标签来指定,而且还不需要在struts.xml中配置
1.properties属性配置文件 将下面 三种不同范围的资源文件,放在对应的目录下面
2.jsp页面
<body>
====访问全局资源文件
<!--全局资源文件的 baseName-->
<s:i18n name=" ...
1.Java对国际化的支持主要用3个类另外完成
java.util.Locale 对应一个特定的区域和语言环境
Locale类主要用来构建本地化应用,该类的主要包含,对地理区域的区域性特征的封装,Local提供了一些常量,可以使用这些常量为通常使用的语言环境创建Locale对象。例如,为中国应用环境创建一个Locale对象
Locale.CN.
java.util.ResourceBundle用户加载资源包
Locale locale=new Locale("zn","CN","WIN");
ResourceBundle my ...
1.FilterDispatcher: 需要的 struts2-codebehind-plugin-2.3.4.jar
StrutsPrepareAndExecuteFilter:需要
struts2-convention-plugin-2.3.4.jar
asm-3.3.jar
asm-commons-3.3.jar
附件中有完整案例
2.struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE stru ...
1.转载别人的. 为了后面的注解
FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!
StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的.!
这样的改革当然是有好处的.!
为什么这么说.? 应该知道如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html!
那我现在有需求, 我必须使用Action的环境,而又想在执行action之前拿filter做一些事 ...
1.注解类型 struts2 < 2.1.3
在Struts2注解核心包的struts-Codebehind -Plugin.jar包中,Strut2框架定义了一些与Action配置相关的注解类型。这些注解类型如下:
ParentPackage注解,用户指定Action所在的包要继承的父包
参数数据类型可选默认值说明valueString否无指定要继承的包
例如,使用ParentPackage 注解 其value的值为default-struts,表示所在的Actino需要继承default-struts包,如下:
@ParentPackage(value="defa ...
1.动态配置result
使用通配符动态配置result,<result>元素为{1}.jsp,这是根据URL参数来匹配的,如果根据Action中的属性名称来进行动态配置,那么就需要使用OGNL表达式
实例:
2.案例 :采用action中的persoName动态获取 结果页面
struts.xml
<package name="default" extends="struts-default">
<!-- redirect resytype test -->
<action name= ...
1.redirect结果类型
redirect结果类型用来 “重定向”到指定的结果类型,该资源可以是jsp文件也可是所以Action,使用Redirect结果类型时,系统将调用HttpServletResponse的sendRediirect()方法,实现重定向带其他的文件。
redirect结果类型和dispactcher类型对应。dispatcher类型表示将请求转发给其他资源。而redirect是重定向到其他资源(参数会丢失,地址栏会变化。可以防止用户刷新浏览器重复提交表单的信息)。应用:
<result type="redirect">/testS ...
1.使用dispatcher做注册例子
struts.xml
<struts>
<package name="default" extends="struts-default">
<action name="showPerson" class="com.luob.action.ShowPerson">
<result name="success">/showPerson.jsp</result& ...