JSF2中的动态欢迎文件

时间:2013-05-30 20:40:32

标签: jsf-2

我在Jboss AS 7上使用JSF 2.我想使用一些代码来决定显示哪个主页(/)。我有一个可以呈现正确页面的servlet(/ homePage),所以如果我去/ homePage /它运行良好,但我希望能够在/ url上做到这一点。如何设置欢迎页面以使用servlet而不是页面?

我已经尝试构建一个监听所有请求的servlet,并且呈现正确的页面是请求是(/),但JSF似乎试图在servlet之前解析welcome文件。

我意识到我可以从主页(index.xhtml)重定向到/ homePage,但这会为浏览器增加几次往返次数,并使URL看起来很难看。

感谢您的帮助!

更新....这里是一个永远不会被称为

的servlet
@WebServlet("/homePage")
public class HomePageServlet extends HttpServlet {  
    @Override
    protected void service(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
            System.out.println("----------HOME PAGE SERVLET CALLED");
            RequestDispatcher dispatcher = null;
            dispatcher = request.getRequestDispatcher(HOME_PAGE1);
            dispatcher.forward(request, response);
    }
}

这是我的web.xml欢迎文件列表

<welcome-file-list>
    <welcome-file>/homePage</welcome-file>
</welcome-file-list>

浏览器收到404和&#34; ----------主页服务呼叫&#34;从未打印过。

1 个答案:

答案 0 :(得分:0)

您只需将<welcome-file>设置为servlet URL即可。

E.g。

<welcome-file>/index</welcome-file>

@WebServlet("/index")