您的位置:首页 > 编程语言 > Java开发

Struts2<2>核心技术2

2014-12-29 23:50 344 查看
Struts2 处理传入多个值

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中寻找!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: