四、
struts2的请求是否真的需要扩展名,
org.apache.struts2包下的default.properties中配置了struts应用的一些常量
struts.action.extends定义了当前struts应用可以接受的请求扩展名
可以在struts.xml文件中配置这项功能。格式如下
一下配置可以识别扩展名为 .do .action和没有扩展名的请求
ActionSupport
1)ActionSupport是默认的Action类,当一个action配置中没有classg该属性是默认执行的就是这个类,
这个类里边有个execute方法,默认执行的就是这个方法,返回值就是”success”;
2)在手工完成字段验证,显示错误消息,国际化情况下,可以继承ActionSuppport,
五、result一共有2个属性,好友一个是type:表示结果的相应类型,
result的type属性值在struts-default包的result-types节点的name属性中定义,常用的
有: dispatcher:(默认的)转发。同servlet中的转发
redirect:重定向
redirectAction:重定向到一个Action
注意:通过redirect的相应类型,也可以便捷的实现redirectAction的功能
testAction
/pdsu
OR
/pds/testAction.do
chain:转发到一个Action
注意:不能通过type=”dispactcher”的方式转发到一个Action
只能是:
testAction
/pdsu
不能是:
/pds/testAction
六、动态调用某个方法。
首先说明在struts2中对于动态调用的这项功能是关闭的。
我们可以将其打开。在core核心包里边有一个ort.apache.struts2下边有一个default-properties配置文件。在此文件中有如下配置
struts.enable.DynamicMethodInvocation = false 说明该功能是关闭的我们需要在struts.xml文件中配置将其打开。代码如下
<!-- 打开动态调用方法的开关 -->
实例请求的url地址如下
http://localhost:8080/struts2-3/testdynameic!update强调内容**
动态方法调用的机制就是在struts.xml文件里配置之后相应的内容(允许动态方法调用)之后再地址栏中url地址后通过加上”!方法名称”即可完成动态方法的调用。
实例:
1.建立一个类Dynamic,写入两个方法。如:save 和update方法
2.配置action
/testsuccess.jsp
/testsuccess2.jsp
3.启动tomcat服务器,通过建立请求即可请求到相应的地址栏之后,可以通过!改变Action中类的执行方法即可控制请求的返回页面
七、异常处理机制
在struts.xml文件的action标签里可以配置异常处理参数
class属性值为发生异常处理的类
/exception.jsp
同时可以在页面中获取错误信息
<%@ taglib prefix=”s” uri=”struts-default”%>
//可以获取错误信息栈
可以显示错误原因
八、通配符方式可以配置action
eg:
{1}.jsp
以上就是一个例子,言简意赅,一目了然!希望对大家有所帮助。