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

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

三、http://localhost:8080/s2_05_HCM_05/hcm/employee/message
<!-- 若是没有找到指定result,会到继承的base package中找 -->浏览器

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

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

重定向:经过action作跳转      type="redirectAction"
http://localhost:8080/s2_05_HCM_05/hcm/employee/redirectAction测试

重定向:从一个包重定向到其余的包编码

五、查看文件源码,能够指定以什么编码读取文件
http://localhost:8080/s2_05_HCM_05/hcm/employee/testCodespa

<?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>
相关文章
相关标签/搜索