簡體   English   中英

將jsp重定向到另一個jsp(Struts1)

[英]Redirect jsp to another jsp (Struts1)

這是我第一次使用Struts1。 我想從jsp重定向到另一個jsp。 例如:如果用戶不在會話中,則將其重定向到login.jsp; 否則轉到menu.jsp。

我試圖創建一個tile:isLogged.jsp包含:

<logic:present name="user">
    <jsp:forward page="menu.do"/>
</logic:present>
<logic:notPresent name="user">
    <jsp:forward page="login.do"/>
</logic:notPresent>

但它沒有重定向,頁面是空白的(代碼中都是空的)。

我確實在網站的所有頁面中調用了tile。

我究竟做錯了什么?

有幾種解決方案1

  • ActionForwards ActionForwards

    如果你有struts-config.xml

     <action-mappings> <action path="/login" forward="/login.jsp"/> <action path="/menu" forward="/menu.jsp"/> </action-mappings> 

    您可以嘗試(如在您的代碼中):

     <logic:present name="user"> <jsp:forward page="menu.do" /> </logic:present> <logic:notPresent name="user"> <jsp:forward page="login.do" /> </logic:notPresent> 
  • the JSP's paths JSP的路徑

     <logic:present name="user"> <jsp:forward page="/menu.jsp" /> </logic:present> <logic:notPresent name="user"> <jsp:forward page="/login.jsp" /> </logic:notPresent> 
  • logic:redirect logic:redirect

     <logic:present name="user"> <logic:redirect page="/menu.jsp" /> </logic:present> <logic:notPresent name="user"> <logic:redirect page="/login.jsp" /> </logic:notPresent> 
  • global-forwards global-forwards

    如果你有struts-config.xml

     <global-forwards> <forward name="login" path="/login.jsp"/> <forward name="menu" path="/menu.jsp"/> </global-forwards> 

    你可以試試:

     <logic:present name="user"> <logic:forward name="menu" /> </logic:present> <logic:notPresent name="user"> <logic:forward name="login" /> </logic:notPresent> 

筆記

  1. 以下示例假定您的文件位於上下文的根文件夾中(例如,如果您使用的是標准eclipse項目,則在WebContent文件夾中)。 如果您的文件位於其他路徑中(例如,在WEB-INF文件夾中),則應將其更改為該文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM