Struts2<2>核心技术2
2014-12-29 23:50
344 查看
Struts2 处理传入多个值
1,处理数目不定的字符串;
2,处理数目不定的 JavaBean 对象;
struts.xml 配置
一,pageckage 配置
name 包名
extends 继承
namespace 包命名空间
abstract 抽象包
二,action 配置
name action 名
class 处理类
method 方法
三,分模块配置方法
<include file="" ></include> 适用于多个模块
开启动态方法调用:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
Struts2的Action的生命周期是:Struts2为每个请求都重新初始化一个Action的实例。
输出this可以查看每次的结果都不一样!
result 配置
1,type 默认是 dispatcher 内部转发;
2,type 为 redirect 重定向;
3,type 为 chain 链条;
4,type 为 redirectAction 重定向到 action;
上面 4 个常用,一定要掌握;
其他 freemarker freemarker 模版
httpheader 返回一个已配置好的 HTTP 头信息响应
stream 将原始数据作为流传递回浏览器端,
velocity 呈现 Velocity 模板
xslt 该 XML 可以通过 XSL 模板进行转换
plaintext 返回普通文本类容
result 全局配置
1,处理数目不定的字符串;
2,处理数目不定的 JavaBean 对象;
public class HobbyAction implements Action { private String[] hobby; public String[] getHobby() { return hobby; } public void setHobby(String[] hobby) { this.hobby = hobby; } @Override public String execute() throws Exception { System.out.println("执行了Action的默认方法"); if (hobby != null) { for (String h : hobby) { System.out.println(h); } } return SUCCESS; }
struts.xml 配置
一,pageckage 配置
name 包名
extends 继承
namespace 包命名空间
abstract 抽象包
二,action 配置
name action 名
class 处理类
method 方法
三,分模块配置方法
<include file="" ></include> 适用于多个模块
<struts> <include file="cheliang.xml"></include> <include file="zichan.xml"></include> </struts>
<struts> <package name="cheliang" namespace="/cheliang" extends="struts-default"> <action name="cheliang" class="com.java1234.action.CheLiangAction"> <result name="success">${pageContext.request.contextPath}/success.jsp</result> </action> </package> </struts>四,使用通配符
<action name="student_*" class="com.java1234.action.StudentAction" method="{1}"> <result name="success">success.jsp</result> </action>同时使用两个通配符
<action name="*_*" class="com.java1234.action.{1}Action" method="{2}"> <result name="success">success.jsp</result> </action>动态方法调用
开启动态方法调用:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="manage" namespace="/" extends="struts-default"> <action name="student" class="com.java1234.action.StudentAction"> <result name="success">success.jsp</result> </action> <action name="grade" class="com.java1234.action.GradeAction"> <result name="success">success.jsp</result> </action> </package> </struts>
<body> <h1>通配符</h1> <a href="Student_list" target="_blank">学生信息查询</a> <a href="Student_add" target="_blank">学生信息添加</a> <a href="Student_update" target="_blank">学生信息修改</a> <a href="Student_delete" target="_blank">学生信息删除</a> <br/><br/> <h1>动态方法调用</h1> <a href="student!list" target="_blank">学生信息查询</a> <a href="student!add" target="_blank">学生信息添加</a> <a href="student!update" target="_blank">学生信息修改</a> <a href="student!delete" target="_blank">学生信息删除</a> </body>Action 生命周期
Struts2的Action的生命周期是:Struts2为每个请求都重新初始化一个Action的实例。
输出this可以查看每次的结果都不一样!
result 配置
1,type 默认是 dispatcher 内部转发;
2,type 为 redirect 重定向;
3,type 为 chain 链条;
4,type 为 redirectAction 重定向到 action;
上面 4 个常用,一定要掌握;
其他 freemarker freemarker 模版
httpheader 返回一个已配置好的 HTTP 头信息响应
stream 将原始数据作为流传递回浏览器端,
velocity 呈现 Velocity 模板
xslt 该 XML 可以通过 XSL 模板进行转换
plaintext 返回普通文本类容
result 全局配置
<global-results> <result name="error">error.jsp</result> </global-results>现在action中寻找 然后会在global-results中寻找!
相关文章推荐
- Struts2<2>核心技术
- 常用AWT监听器接口,事件和事件源(摘自Java 2 核心技术<卷一:基础知识>(第七版)》)
- 推荐书籍<大型网站技术架构-核心原理与案例分析>--结合内容思考产品架构
- Mac技术预览之<2>为Mac平台创建软件产品
- AR--未来技术提前探索<2>[自己做的第一个AR]
- <逆向工程核心原理> 动态反调试技术总结
- <逆向工程核心原理> 静态反调试技术总结
- [转载]Windows Hook 易核心编程<2>远程线程注入 下
- Windows Hook 易核心编程<2>远程线程注入 上
- Ajax&Json<2>Ajax核心
- Ajax&Json<2>Ajax核心2
- 从零开始学_JavaScript_系列(12)——jquery<2>(高度自适应,哈希地址及检测,单页面技术)
- <学习笔记>Windows驱动开发技术详解__IRP的同步
- php+js+mysql设计的仿webQQ-<2>其他验证
- C#的一些小技术<2>
- Ajax的异步通信引发的一个随机性问题<2> 异步请求的问题来了
- 2011-12-13_<2>
- 零售连锁商业智能分析(BI)实例(ZT) <2>
- IT前沿技术之node.js篇<四>:Node.js与Restful API
- IM 开源项目 登录服务器 基础表结构<2>