action配置的格式
<package name="包名字" extends="继承的包" namespace="空间名" >
<action name="访问的名称" class="处理请求的类">
<result name="处理类返回的结果名称">该结果名称所对应的JSP页面</result>
</action>
</package>
常用的两种action配置示例
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="getIp" extends="json-default" namespace="/getIp">
<!-- 查询链接 -->
<action name="getIpDetailAction" class="action.GetIpDetailAction">
<result type="json"></result>
</action>
<action name="getIp" class="action.GetIpAction">
<result name="success">/getIp.jsp</result>
</action>
</package>
</struts>
这两种配置的访问方法分别为
getIpDetailAction
localhost:8080/项目名/命名空间/action名称
在浏览器中输入 localhost:8080/项目名/getIp/getIpDetailAction
就会进入到
action.GetIpDetailAction中进行处理
然后返回一个json
getIp
localhost:8080/项目名/命名空间/action名称
在浏览器中输入 localhost:8080/项目名/getIp/getIp
就会进入到
action.GetIpAction中进行处理
处理成功后跳转到
getIp.jsp页面
Action配置中的各项默认值
如果没有为action指定class,默认是ActionSupport类
<action name="Login">
相当于
<action name="Login" class="com.opensymphony.xwork2.ActionSupport">
如果没有为action指定method,默认执行action中的execute()方法
<action name="Login">
相当于
<action name="Login" class="com.opensymphony.xwork2.ActionSupport" method="execute">
如果没有指定result的name属性,默认值为success.
<result>
相当于
<result name="success">
ps: ActionSupport这个类到底是个什么类呢?
是一个具有execute方法的类,并且execute方法返回”success”字符串. ActionSupport还实现了很多其他的结果,提供了许多定制的功能 |