2011-03-15 43 views
1

大家好,Spring MVC的3重定向/向前的sitemesh

我使用Spring MVC的3 + SiteMesh的春季安全3,我需要做下面的場景。 我爲繞過用戶和普通用戶使用了2種不同的佈局。我遵循的方法工作正常,直到我遇到一些JavaScript彈出窗口,因爲我注意到頁面加載兩次並彈出相同的窗口兩次。請驗證我的方法。

控制器講座

@RequestMapping(value = "/mainMenu") 
    public class PortalController { 

    @RequestMapping(method = RequestMethod.GET) 
    public String byPassPortal() { 

    if (User.bypassMenu()) { 
     //return "redirect:user.html"; 
     //return "forward:user.html"; 
     return "/user/user"; 
    } else { 
     // send user to the portal page 
     logger.debug("Redirect to the main page"); 
     return "mainMenu"; 
    } 
    } 
} 

網站網格裝飾的xml -

<decorators defaultdir="/decorators"> 
<decorator name="layout" page="layout.jsp"> 
    <pattern>/user*</pattern> 
</decorator> 
<decorator name="default" page="default.jsp"> 
    <pattern>/*</pattern> 
</decorator> 
</decorators> 

這裏是我的意見 - 如果我使用return "redirect:user.html"; & 這是工作的罰款與正確的佈局(layout.jsp),爲用戶因爲裝飾者會通過模式<pattern>/user*</pattern>捕捉它。但問題是形式將加載兩次,我得到彈出兩次。

如果我使用或return "/user/user";彈出窗口將只來過一次,但佈局wrong.cause應該是它不會從裝飾的URL模式<pattern>/user*</pattern>拍攝的,它會使用默認的佈局這是錯誤的(default.jsp)。

我認爲有些東西需要處理,而不是從sitemesh處理。你能否介紹一下這方面的一些指導?先謝謝你。

+0

大家好,我發現這個問題。與彈簧或sitemesh沒有任何關係。這是關於我使用的第二個佈局。它包含兩個''標記,並且它由sitemesh提交兩次。希望這對任何得到這種錯誤的人都有幫助。 – Sam 2011-03-22 14:29:26

回答

0

我發現這個問題。與spring或sitemesh沒有任何關係。這是關於我使用的第二個佈局。它包含兩個''標籤,它由sitemesh提交兩次。希望這對任何得到這種錯誤的人都有幫助。 - 山姆0秒前編輯