struts2是通过filter来初始化配置的,struts1 是通过servlet 加载配置的
action名称的搜索路径,按包的顺序从里往外搜
1>如果没有为action指定class,默认是ActionSupport。
2>如果没有为action指定method , 默认执行action中的execute()方法 。
3>如果没有为result指定name属性 , 默认为success 。
视图类型
1. 重定向的类型:dispatch(默认值),redirect(客户端跳转),redirectAction,plainText
2 . 在action中的参数可以在result中间配置
- <action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
- <result name="success" type="redirect">/employeeAdd.jsp?username=${username}</result>
- </action>
(在action必须有getUsername()方法)
与struts 1 相比,灵活性强,struts1 是在action中把参数设置在request中 ,然后在jsp页面上从request中获得
3 . redirectAction:从一个action跳转到另一个action
访问不在同一包中的action
- <action name="redirectAction">
- <result type="redirectAction">
- <param name="actionName">xxx</param>
- <param name="namespace">/control/department/xdsfdsfds/435435</param>
- </result>
- </action>
4 . plainText:显示原始文件
- <action name="plainText">
- <result type="plainText">
- <param name="location">/index.jsp</param>
- <param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
- </result>
- </action>
5 . 定义全局视图
我们知道在包中可以定义<global-results> ,但只有包中的action共享这个视图,其他包无法访问
如何定义全局视图?
定义一个包
- <package name="base" extends="struts-default">
- <global-results>
- <result name="message">/WEB-INF/page/message.jsp</result>
- </global-results>
- </package>
然后让其他的包都继承自这个包
<package name="itcast" namespace="/control/employee" extends="base">
</package>
这样就所有的包都能共享这个视图
6 . 在action中传递中文要转码,在jsp中要解码(只针对客户端的get方式跳转)
action中转码:
- this.username = URLEncoder.encode("传智播客", "UTF-8");
jsp中解码:
- <%= URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>
7 . 在result中如何传递多个参数
- <result name="success" type="redirect">/employeeAdd.jsp?username=${username}&id=${id}</result>
分享到:
相关推荐
Struts2属性文件详解 struts.configuration 该属性指定加载Struts 2...该属性的默认值为struts- default.xml,struts-plugin.xml,struts.xml,看到该属性值,所以应该明白为什么Struts 2框架默认加载struts.xml文件了.
2.6.2. Struts的强项........................................................................................................58 Struts in Action 中文版 Lastest Revised:10/14/2005 10:27:00 AM ...
2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................
该属性的默认值为struts-default.xml,struts-plugin.xml,struts.xml,看到该属性值,读者应该明白为什么Struts 2框架默认加载struts.xml文件了。 struts.objectFactory 该属性指定Struts 2中的action由哪个容器...
为Action属性注入值 指定Struts 2处理的请求后缀 Struts 2的处理流程与Action的管理方式 为应用指定多个配置文件 动态方法调用和使用通配符定义action 请求参数接收 自定义类型转换器 全局类型转换器 访问...
在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...
答:不一定,如果在配置中你也使用了fetch属性的话此时lazy就会失效。 Hibernate数据库标识与主键之间的认识? 答:标识是为了方便和简介映射文件,主键是为了让数据不会重复。 为什么每次请求都要创建一个Action...
第7章 struts2中应用模板语言 145 7.1模板语言简介 145 7.2应用velocity 146 7.2.1velocity基础 146 7.2.2struts2对velocity的支持 153 7.3应用freemarker 155 7.3.1freemarker基础 155 7.3.2struts2整合...
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session ...
7.3.1 在WebLogic中配置JavaMail 288 7.3.2 通过WebLogic的邮件支持来 发送邮件 290 7.3.3 在JBoss中配置JavaMail 292 7.4 本章小结 294 第8章 会话EJB 295 8.1 EJB概述 296 8.1.1 EJB的概念和意义 296 8.1.2 EJB的...
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless ...