項目到具體頁面,在Primefaces + JSF2.0應用程序,我有一個Primefaces + JSF的網站,其主頁是 本地主機的根:81/Mywebapp/login.jsf如何重定向使用JBoss 7
我想將用戶重定向到該主頁,如果他轉到:localhost:81/Mywebapp /,那麼他不需要編寫完整的URL。
我該怎麼做?我想這是JBoss的一些配置
任何幫助嗎?感謝
項目到具體頁面,在Primefaces + JSF2.0應用程序,我有一個Primefaces + JSF的網站,其主頁是 本地主機的根:81/Mywebapp/login.jsf如何重定向使用JBoss 7
我想將用戶重定向到該主頁,如果他轉到:localhost:81/Mywebapp /,那麼他不需要編寫完整的URL。
我該怎麼做?我想這是JBoss的一些配置
任何幫助嗎?感謝
實際上它應該是在你的web.xml
文件,試圖把它的結束此項
<welcome-file-list>
<welcome-file>/login.jsf</welcome-file>
</welcome-file-list>
編輯
我也做了新的index.jsp這樣解決了這個曾經
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<jsp:forward page="/login.jsf" />
</body>
</html>
還是放在那裏的一個html文件,使用此元
<meta http-equiv="Refresh" content= "0; URL=login.jsf"/>
並將其中一個設置爲您的歡迎文件。其中一個解決方案應該爲你做的工作:-)
很抱歉的第二個答案,在註釋的格式並沒有真正削減它:
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
...
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
...
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>*.jsf</url-pattern>
<url-pattern>subdir/*</url-pattern>
</servlet-mapping>
彼得的回答應該工作得很好,但如果你真的關心擴展(這並不重要),那麼只需在servlet下添加你想要映射的地方即可。這映射* .xhtml,* .jsf和'subdir /'下的任何東西。
If you had a hard file:
- index.xhtml
Myapp/index.xhtml and
Myapp/index.jsf
would map to the same file. xhtml is since your default suffix is xhtml
我希望這有助於,誠實地說,與Primefaces 2我肯定會使用xhtml,因爲這是規範。使用3並不重要,但我仍然留在xhtml中,因爲它通常不在我的服務器上。
最好的運氣(切赫的轉發技巧是不是一個壞主意 - 它可以在惡劣的情況下,真正的幫助)
您可以隨時與像PrettyFaces URL重寫引擎做到這一點。你必須激活它在你的web.xml
,然後這樣定義重寫規則:
<url-mapping id="login">
<pattern value="/login" />
<view-id value="/legacy/user/login.xhtml" />
</url-mapping>
因爲你提到明確login.jsf
我認爲這是考慮包括安全框架,它是這樣做的(以及許多其他的東西是個好主意) 爲你。 Seam security提供類型安全的註解是:
@ViewConfig
public interface SeamPages
{
static enum Pages0
{
@ViewPattern("/jsf/admin/important.xhtml")
@UrlMapping(pattern="/admin/important")
@LoginView("/jsf/access/loginRequired.xhtml")
@AccessDeniedView("/jsf/access/accessDenied.xhtml")
@RestrictAtPhase(PhaseIdType.RESTORE_VIEW)
@LoggedIn
ENUM0;
}
}
這將解決三個共同的要求:
/yourApp/admin/important
將被重定向到/jsf/admin/important.xhtml
JSF頁面。@LoggedIn
他將被重定向到/jsf/access/loginRequired.xhtml
/jsf/access/accessDenied.xhtml
它的權利沒有工作 – Tony 2012-04-28 20:29:12
好了,在你的情況也許這一個將幫助http://stackoverflow.com/questions/7015656/welcome-page-in-jsf – 2012-04-28 20:33:06