struts2.x学习笔记 超详细
来源:互联网 发布:sqlserver免费吗 编辑:程序博客网 时间:2024/04/29 13:43
更多可以下载:http://filemarkets.com/fs/ag3meicn6ge013e269/
一、应用开发
<packagename=”itcast” namespace=”/test” extends=”struts-default” abstract=”false”>
<action name=”helloworld” class=”cn.itcast.action.HelloworldAction”method=”execute”>
<result name=”success”>/WEB-INF/page/hello.jsp</result>
</action>
</package>
1. abstract定义抽象包,如果为true就不能定义action,只能被继承,默认是false
2. struts-default是个抽象包,都需要继承它
3. method是调用的方法
二、编辑xml文件无提示:
找到dtd文件:如图(很多图片不方便上传 请去路径下载)
三、Action名称搜索顺序
比如url是:http://server/struts2/path1/path2/path3/test.action
1. 首先选择namespace为/path1/path2/path3/的package,如果不存在这个package则执行步骤2,果存在则使用,如果不存在,就会直接跑到默认namespace的package里面去找,(的命名空间为字符串“”),如果找不到,则提示没有action
2. 寻找namespace为/path1/path2/的package,不在,则转至步骤3,存在则使用,如果不存在,就会直接跑到默认namespace的package里面去找,(的命名空间为字符串“”),如果找不到,则提示没有action
3. 寻找namespace为/path1的package,不在,则转至步骤4存在则使用,如果不存在,就会直接跑到默认namespace的package里面去找,(的命名空间为字符串“”),如果找不到,则提示没有action
4. 寻找namespace为/的package,不在,则转至步骤3,存在则使用,如果不存在,就会直接跑到默认namespace的package里面去找,(的命名空间为字符串“”),如果找不到,则提示没有action
一、Action配置的各默认值
<packagename=”itcast” namespace=”/test” extends=”struts-default” abstract=”false”>
<action name=”helloworld” class=”cn.itcast.action.HelloworldAction”method=”execute”>
<result name=”success”>/WEB-INF/page/hello.jsp</result>
</action>
<action name=”helloworld” >
<result name=”success”>/WEB-INF/page/hello.jsp</result>
</action>
</package>
1. 没有为action指定class默认为ActionSupport
2. 默认的method,默认执行action中的execute()方法
3. 没有指定result的name属性,默认为success
二、Action中result的各种转发类型
1. result配置类似于struts1中的forward,但是struts2提供了多种结果类型,常用的类型有:dispatch(默认),redirect、redirectAction、plainText
2. 在result中还可以使用${属性名}表达式访问action的属性,表达式的属性名对应action中的属性。如下:
<result type=”redirect”>/View.jsp?id=${id}</result>
3. redirectAction:
1. 重定向的action中同一个包下
<result type=”redirectAction”>helloworld</result>
2. 重定向的action在别的命名空间下:
<result type=”redirectAction”>
<param name=”actionName”>helloworld</param>
<param name=”namespace”>/test</param>
</result>
4. plaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候
<result type=”plainText”name=”source”>
<param name=”location”>/xxx.jsp</param>
<param name=”charSet”>UTF-8</param>
</result>
5. 多个action共用一个视图
1. <global-results>
<result name=”message”>/WEB-INF/page/message.jsp</result>
</global-results>
其他action调用
<action name=”manage” class=”cn.itcast.action.helloWorldAction”method=”add”>
</action>
其中add方法中return “message”;
这个例子中全视图和action定义在同一个包下,如果想不同包也使用该视图就可以,把global定义在一个新的包里,并且继承extends=”struts-default”,根据包的继承属性,其他action所在的包都继承全视图所在的包
三、指定需要struts2处理的请求后缀
1. 默认后缀可以通过常量:“struts.action.extension”进行修改
如:只处理以.do后缀的请求路径
<constantname=”struts.action.extension” value=”do”/>
如果想多个如.do/.action等等可以通过,号进行隔开
Value=”do,action”
2. 常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,
两种配置方法:
1.<constant name=”struts.action.extension” value=”do”/>
2.struts.properties: struts.action.extension=do
加载常量的顺序:struts-default.xml struts-plugin.xml struts.xml struts.properties web.xml
后一个文件中的常量会覆盖前面定义的相同的常量
3. 常用常量及配置:
a) <constant name=”struts.i18n.encoding”value=”UTF-8”/>
b) <constant name=”struts.action.extension”value=”do”/>
设置浏览器是否缓存静态内容,默认true(生产环境中使用)开发时最好关闭
c) <constant name=”struts.serve.static.browserCache”value=”false”/>
当struts的配置文件修改后,系统是否自动重新加载该文件,默认false(生产环境中使用)开发时最好打开
d) <constant name=”struts.configuration.xml.reload”value=”true”/>
e) 开发模式下使用,这样可以打印更详细错误信息
f) <constant name=”struts.devMode”value=”simple”/>
g) 默认的视图主题
h) <constant name=”struts.ui.theme”value=”simple”/>
i) 与spring 集成时,指定由spring负责action对象的创建
j) <constant name=”struts.objectFactory”value=”spring”/>
k) 上传文件大小限制
l) <constant name=”struts.multipart.maxSize”value=”10802032”/>
四、Struts2的处理流程
不好写了 想详细的请去下载免费的:http://filemarkets.com/fs/ag3meicn6ge013e269/- struts2.x学习笔记 超详细
- MyBatis 学习笔记(超详细)
- 超详细JVM学习笔记
- Struts2.x 学习笔记
- struts2.x学习笔记
- Struts2.x学习笔记
- python多线程学习笔记(超详细)
- python多线程学习笔记(超详细)
- 马士兵struts2学习笔记(详细版)
- Struts2.x学习笔记之 异常处理
- Struts2.x 学习笔记 之 值栈(ValueStack)
- Struts2.x 学习笔记 之 国际化
- Struts2.x 学习笔记 之 输入校验
- 前端html与css学习笔记总结篇(超详细)
- 前端HTML与CSS学习笔记总结篇(超详细)
- FFT学习笔记<理论版>(初学者必备,超详细)
- 前端html与css学习笔记总结篇(超详细)
- Struts2、Spring4、Hibernate4整合 超详细教程
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第三题:李白打酒 (8' )
- codeforces#238_div2_D Toy Sum
- 关于冯.诺依曼的八卦
- 背景建模PbModel
- 入职记录
- struts2.x学习笔记 超详细
- 基本的阈值操作
- 字符串编码问题(Ascii、Unicode、UCS-2、GBK、UTF-8)
- 堆的动态创建与根节点删除
- Java中的Timer和TimerTask的用法
- 去掉vim 里打开的^M
- s2sh配置技巧----------------------------OpenSessionInViewFilter
- sdut 1309 区间DP
- J2EE企业级开发攻略