struts2 跳转方式,请求分派,重定向

http://localhost:8080/s2_05_HCM_05/hcm/employee/helloworld
1、action 成员中的信息默认会保存在request 范围中.注意属性应该保证有set方法.
2、默认的转发方式是请求分派

3、http://localhost:8080/s2_05_HCM_05/hcm/employee/message
<!-- 如果没有找到指定result,会到继承的base package中找 -->

4、测试重定向 重定向的时候,不能定向到WEB-INF下的jsp页面,
这个路径下只有服务器可以访问,客户端是不能通过浏览器访问到的,
除非通过action跳转到该页面

重定向:直接定向到JSP页面  type="redirect"
http://localhost:8080/s2_05_HCM_05/hcm/employee/redirect

重定向:通过action做跳转      type="redirectAction"
http://localhost:8080/s2_05_HCM_05/hcm/employee/redirectAction

重定向:从一个包重定向到其他的包

5、查看文件源码,可以指定以什么编码读取文件
http://localhost:8080/s2_05_HCM_05/hcm/employee/testCode

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 
 <package name="base" extends="struts-default">
  <global-results>
   <result name="message">/WEB-INF/page/message.jsp</result>
  </global-results>
 </package>
 
 <!-- package namespace + action name  唯一确定页面的跳转 --> 
 <package name="itcast" namespace="/hcm/employee" extends="base">
  <!-- 用${username}可以取到作用域中的属性名称对应值 -->
  <!-- 默认作用域是request -->
  <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="{1}">
   <result name="success">/WEB-INF/page/hello.jsp?username=${username}</result>
   <result name="message">/WEB-INF/page/message.jsp</result>
  </action>
  
  <action name="testCode">
   <result type="plainText">index.jsp</result>
  </action>
  
  <action name="testCode2">
   <result type="plainText">
    <param name="location">/index2.jsp</param>
    <param name="charSet">UTF-8</param><!-- 以什么编码读取文件 -->
   </result>
  </action>
  
  <!-- 如果没有找到指定result,会到继承的base package中找 -->
  <action name="message" class="cn.itcast.action.HelloWorldAction" method="add">
   <!--  
   <result name="message">/WEB-INF/page/hello.jsp</result>
   -->
  </action>
  
  <!-- 测试重定向,注意:重定向不能定向到WEB-INF路径下的jsp页面,除非通过action跳转 -->
  <action name="redirect">
   <result type="redirect">/hello.jsp</result>
  </action>
  <!-- 重定向,经过action跳转   本包 -->
  <action name="redirectAction">
   <result type="redirectAction">helloworld!add</result>
  </action>
  
  <!-- 重定向到其他的包 -->
  <action name="redirectAction2">
   <result type="redirectAction">
    <param name="actionName">helloworld</param>
    <param name="namespace">/hcm/redirect</param>
   </result>
  </action>
 </package>
 
 <package name="testDirect" namespace="/hcm/redirect" extends="base">
  <action name="helloworld" class="cn.itcast.action.HelloWorldAction" method="execute">
   <result name="success">/WEB-INF/page/employeeAdd.jsp</result>
  </action>
 </package>
 
</struts>

转载于:https://my.oschina.net/sniperLi/blog/479210

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值