Struts2--Action类的访问配置--day03--20200330

package标签配置

 <package name="day01" namespace="/" extends="struts-default">
        <action name="input">
         <result>input.jsp</result>
        </action>
        <action name="product-save" class="com.day01.Product" method="execute">
         <result name="success">details.jsp</result>
        </action>
    </package>

将相关的一组action放在一个package中。
namespace请求的时候需要加上。

配置Struts2可以受理的请求的扩展名

<constant name="struts.action.extension" value="action,do"></constant>

解析:1.org.apache.struts2包下的default.properties中配置了Struts2应用的一些常量,包括struts.action.extension
2.可以在struts.xml文件中以常量配置的方式修改默认配置

action标签配置

默认调用的class是com.opensymphony.xwork2.ActionSupport,method的默认值为execute。

ActionSupport

1). ActionSupport 是默认的 Action 类: 若某个 action 节点没有配置 class 属性, 则 ActionSupport 即为
待执行的 Action 类. 而 execute 方法即为要默认执行的 action 方法
2). 在手工完成字段验证, 显示错误消息, 国际化等情况下, 推荐继承 ActionSupport.

result标签配置

1). result 是 action 节点的子节点
2). result 代表 action 方法执行后, 可能去的一个目的地
3). 一个 action 节点可以配置多个 result 子节点.
4). result 的 name 属性值对应着 action 方法可能有的一个返回值.
可以通过result配置多个返回页面(返回值为哪个name就执行哪一个(默认是请求转发)):

<result name="success" type="dispatcher">/success.jsp</result>
<result name="login">/login.jsp</result>
<result name="index">/atguigu/testAction.do</result>

5). result 一共有 2 个属性, 还有一个是 type: 表示结果的响应类型

<result name="login" type="redirect">/login.jsp</result>

6). result 的 type 属性值在 struts-default 包的 result-types 节点的 name 属性中定义.
常用的有 :
> dispatcher(默认的): 转发. 同 Servlet 中的转发. 只看到一次请求
> redirect: 重定向,两次请求
> redirectAction: 重定向到一个 Action,两次请求
> chain: 转发到一个 Action,只发一次请求

    <action name="test" class="com.atguigu.struts2.action.TestResultAction" >
   <result name="sucess" type="dispatcher">/login-success.jsp</result>
   <result name="login" type="redirect">/Login.jsp</result>
   <result name="index" type="redirectAction">
    <param name="actionName">testAction</param><!--调用的action类名称-->
    <param name="namespace">/test</param><!--命名空间,且必须存在test-->
   </result>
   <result name="index2" type="chain">
    <param name="actionName">testAction</param>
    <param name="namespace">/test</param>
   </result>
  </action>
 <package name="testPackage"  namespace="/test" extends="struts-default"><!--命名空间,且必须存在test-->
  <action name="testAction" class="com.atguigu.struts2.action.TestAction">
   <result>/test-aware.jsp</result>
  </action>
 </package>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值