2011-07-10 63 views
0

美好的一天!Struts 2框架 - 重定向到行動

我目前正在學習Struts 2,我對xml很困惑。我不知道從哪裏開始。

我希望我的index.jsp去我的顯示屏操作類,所以我的代碼如下:

的index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=package.action/DisplayContactAction"> 
</head> 
<body> 
</body> 
</html> 

struts.xml的

<action name="index"> 
     <result type="redirectAction"> 
      <param name="actionName">HelloWorld</param> 
      <param name="namespace">/example</param> 
     </result> 
    </action> 

任何人都可以向我解釋上面struts.xml中的代碼是什麼意思。

我重定向我的網頁後,動作類,我希望它去display.jsp

Action類

private ArrayList<Contacts> contactsList; 
    private int id; 
    private String firstName; 
    private String lastName; 
    private String telNumber; 
    private String email; 

    public String execute() { 
     String result = null; 

     ContactsManager contactsManager = ContactsManager.getInstance(); 
     contactsList = ContactsManager.getContactsList(); 

     result = "success"; 
     return result; 
    } 

現在...我如何可以通過使用XML的價值? 另外,如何將我的動作類上生成的數據傳輸到jsp?

謝謝。

+0

您應該首先嚐試理解struts2的基本操作流程,默認類型(dispatch)(通常是執行請求邏輯的一個動作,以及一個顯示結果的jsp)。只有當你清楚這一點,試着理解這個特別的(使用少得多的)''redirectAction'類型,這會導致調用另一個動作 – leonbloy

回答

2

任何人都可以向我解釋struts.xml中的代碼是什麼意思。

以下結果將重定向到HelloWorld操作的URL(可能是/ example/HelloWorld)。

<result type="redirectAction"> 
    <param name="actionName">HelloWorld</param> 
    <param name="namespace">/example</param> 
</result> 

它調用getUriFromActionMapping(ActionMapping)方法ActionMapper來確定URL重定向到。您也可以使用標準重定向類型(type="redirect")。

另外,如何將我的動作類上生成的數據傳輸給jsp?

您需要一個getter來公開數據,然後才能在JSP中訪問它。