struts2 type="redirectAction"重定向 與動態調用方法


<?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>
    <!-- 創建包default,繼承struts-default -->
    <package name="default" extends="struts-default">
        <!-- 名為login的Action,實現類為LoginAction -->
        <action name="login" class="com.action.LoginAction">  
            <!-- redirectAction返回類型 -->  
            <result type="redirectAction">
                <!-- Action名參數 -->
                   <param name="actionName">userLogin</param>

          <!-- 參數名 -->

        <param name="username">${username}</param>
                   <!-- 命名 空間參數-->
                <param name="namespace">/user</param>
            </result>  
            <!-- 返回值為error, redirectAction類型,重定向到名為error的Action-->      
            <result name="error" type="redirectAction">error</result>    
            </action>
            <!-- 名為error的Action -->
        <action name="error">
               <result>/error.jsp</result>
           </action>
    </package>
    <!-- 名為user的Action,命名空間為/user -->
    <package name="user" extends="struts-default" namespace="/user">
       <!--名為userLogin的Action  -->
       <action name="userLogin" class="com.action.UserAction">
           <result>/hello.jsp</result>         
       </action>
    </package>   
</struts>

 

其中hello.jsp 位於webroot 下。${username} 中的username  對應於login中的屬性值,

即由頁面傳過來的值,而param 中 name="username" 中的username 對應於userLogin中的屬性名稱,即給該名稱的屬性賦值。

在hello.jsp中獲取傳遞過來的屬性 就要用到ognl表達式

<s:property value="username">

================================================================

動態調用方法

在struts.xml 中增加靜態配置

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

增加后才可以動態調用方法;

動態調用方法首先在action得有對應的方法,被調用的方法與默認方法execute()類似

 

 

  <action name="login" class="com.action.LoginAction">  
        <result>/result.jsp</result> 

     <result name="add">/add.jsp</result> 

    <result name="update">/update.jsp</result>
   </action>

對象的請求

http://127.0.0.1:8080/helloworld/login!update.action

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM