Struts2,大爷你好!第二天补一发笔记
第四节Struts2处理传入多个值
处理数目不定的字符串。多选框 String[] students
处理数目不定的JavaBean对象 List<student> Student
第五节:struts.xml配置 说明
例:
<package name="包名" namespace="/fore" abstract="true" extends="strus-default">
pageckage配置
name 包名 区分模块,没有实际作用,只是一个名字而已
extends 继承一些东西,比如拦截器
namespace 包命名空间,需要在访问action时,必须有这个前缀,地址栏名称多加入这个字段
abstract 抽象包,拦截器,需要过滤请求时(比如一些词汇),默认false
修改xml文件,需要重启tomcat
2.action配置
例:
<action name="名字" class="com.java.action.student" method="show">
name action名,所访问的的名字
class 处理类,具体的请求处理类
method 方法,比如类中有好几个方法,定义调用method中的方法,指定执行此方法
3.分模块配置方法
struts.xml文件----
<include file="模块一.xml"></include>
<include file="模块二.xml"></include>
------
模块一.xml和模块二.xml编写action
4.通配符
<action name="名称_*" class="com.java.studentAction" method="{1}">
取到第一个通配符,调用类中的第一个方法
或者*_*
第六节:动态方法调用
开启方法调用:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
第七节:Action生命周期
每次请求访问,action都会创建一个新的实例
第八节:result配置
例:
<action....>
<result name="success" type="">success.jsp</result>
</action>
1.type默认是dispatcher 内部转发;--底层是forworld
2.type为redirect重定向;不带值
3.type为 chain链条;数据共享,相当于内部转发到另一个action
4.type为redirectAction重定向到action;数据同样也带不回去
上面四个常用,一定要掌握;
其他 freemarker freemarker 模板
httpheader 返回一个已配置好的HTTP头信息响应
stream将原始数据作为流传递回浏览器端
velocity呈现Velocity模板
xslt该XML可以通过XML模板进行转换
plaintext返回普通文本内容
result全局配置
--错误页面
<global-result>
<result name="error">error.jsp</result>
</global-result>
action中没有匹配的,就向上寻找去执行<global-result>