大家好,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處理。你能否介紹一下這方面的一些指導?先謝謝你。
大家好,我發現這個問題。與彈簧或sitemesh沒有任何關係。這是關於我使用的第二個佈局。它包含兩個' '標記,並且它由sitemesh提交兩次。希望這對任何得到這種錯誤的人都有幫助。 –
Sam
2011-03-22 14:29:26