Struts2<2>核心技术2

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中寻找!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值