Jsf 如何使用JavaServer Faces根据目标URL修改登录页面?
在我的JSF2中,我使用基于表单的身份验证。web.xml包含一个login.html条目Jsf 如何使用JavaServer Faces根据目标URL修改登录页面?,jsf,authentication,jakarta-ee,jsf-2,Jsf,Authentication,Jakarta Ee,Jsf 2,在我的JSF2中,我使用基于表单的身份验证。web.xml包含一个login.html条目 <login-config> <auth-method>FORM</auth-method> <realm-name>testDB</realm-name> <form-login-config> <form-login-page>/login.html</form-login
<login-config>
<auth-method>FORM</auth-method>
<realm-name>testDB</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/loginError.html</form-error-page>
</form-login-config>
</login-config>
类型
测试数据库
/login.html
/loginError.html
该web应用程序有一个主页(/app/index.html)和一个支持移动电话的/app/mobile/index.html
我想根据目标URL在login.html中使用不同的布局
- 如果目标URL为/app/mobile/index.html,请使用针对小浏览器大小进行优化的登录页面
- 否则,请使用默认登录页面
是否可以使用JSF在登录页面中获取“destination”页面,或者使用FacesContext中的信息?我在 表情
#{requestScope['javax.servlet.forward.request_uri']}
包含值/app/index.html或/app/mobile/index.html
代码示例:
<h:panelGroup rendered="#{requestScope['javax.servlet.forward.request_uri'] eq '/app/mobile/index.html'}">
<h2>
Welcome to the MOBILE login page.
</h2>
</h:panelGroup>
<h:panelGroup rendered="#{requestScope['javax.servlet.forward.request_uri'] ne '/app/mobile/index.html'}">
<h2>
Welcome to the NON-MOBILE login page.
</h2>
</h:panelGroup>
欢迎来到手机登录页面。
欢迎来到非移动登录页面。