HelloWorld编写
Ø获取Struts2开发包
Ø解压后有四个文件夹
•apps: 基于struts2的示例应用,这些示例 应用对于学 习者是非常有用的;
•docs: struts2 相关文档,包括struts2快速入门、struts2 的文档以及API文档等;
•lib: struts2框架和核心类库,以及struts2第三方插件类 库;
•src: struts2框架的源代码.
Ø从apps中拷贝blank.war解压
blank.war是一个最简单的引入struts的工程,我们按照例子来创建我们的strtus2的HelloWorld
Action执行流程
常用常量
Ø
<constantname="struts.i18n.encoding" value="UTF-8"/>
字符集编码设置
Ø
<constant name="struts.configuration.xml.reload"value="true"/>
struts.xml
修改后是否自动重新加载文件
Ø
<constantname="struts.devMode" value="true" />
开发者
模式
可以打印出更详细的错误信息
Ø
<constant name="struts.enable.DynamicMethodInvocation"value="false"/>
是否支持方法动态调用
Ø
<constantname="struts.multipart.maxSize" value=“10701096"/>
上传文件的大小限制
DMI动态方法调用
Ø
每一个
Action
类都有
method
这个配置项,那么也就是说每一个
Action
只能处理一种请求?
Ø
<constantname="struts.enable.DynamicMethodInvocation"value="true"/>
使用动态方法调用,可以在路径中指定请求方法,这样一个
Action
类就能够请求多个不同路径的请求了。
Ø
使用方式:在请求路径后加
!
再加方法名,如:
<ahref=”Teacher!add”>
增加老师
</a>
<ahref=”Teacher!delete”>
删除老师
</a>
创建Action
继承
ActionSupport
类
默认Action与默认Class
Ø
在命名空间中找不到对应的
Action
类如何处理,配置默认
Action
,统一处理找不到的
Action
,避免前台显示
404
错误
<default-action-refname="DefaultAction"></default-action-ref>
Ø
默认
Class
在未给
Action
配置
class
时,为什么使用的是
ActionSupport
类?
struts-default.xml
中已经配置:
<default-class-refclass="com.opensymphony.xwork2.ActionSupport" />
我们也可以定义一个默认处理的
class
通配符配置
Ø
使用通配符进行配置:
这里的
*_*
匹配出两个字符串,例如请求
Action
名为
Student_add
,则访问的
Class
是
StudentAction
,请求的
method
是
add
,成功后跳转到
Student_add_Result.jsp
<a
href
=”
Teacher_add
”>
增加老师
</a>
<a
href
=”
Teacher_delete
”>
删除老师
</a>
<a
href
=”
Student_add
”>
增加学生
</a>
<a
href
=”
Student_delete
”>
删除学生
</a>
<ahref=”Teacher!add”>
增加老师
</a>
<ahref=”Teacher!delete”>
删除老师
</a>
创建Action
继承
ActionSupport
类
默认Action与默认Class
Ø
在命名空间中找不到对应的
Action
类如何处理,配置默认
Action
,统一处理找不到的
Action
,避免前台显示
404
错误
<default-action-refname="DefaultAction"></default-action-ref>
Ø
默认
Class
在未给
Action
配置
class
时,为什么使用的是
ActionSupport
类?
struts-default.xml
中已经配置:
<default-class-refclass="com.opensymphony.xwork2.ActionSupport" />
我们也可以定义一个默认处理的
class
通配符配置
Ø
使用通配符进行配置:
这里的
*_*
匹配出两个字符串,例如请求
Action
名为
Student_add
,则访问的
Class
是
StudentAction
,请求的
method
是
add
,成功后跳转到
Student_add_Result.jsp
<a
href
=”
Teacher_add
”>
增加老师
</a>
<a
href
=”
Teacher_delete
”>
删除老师
</a>
<a
href
=”
Student_add
”>
增加学生
</a>
<a
href
=”
Student_delete
”>
删除学生
</a>