0
我試圖將網頁(xhtml)的配置文件名稱傳遞給用戶bean驗證器。這是我的approoach:JSF f:屬性到f:事件不映射在後臺bean中
<f:event name="verifica" listener="#{RegistroBean.verificaUsuarioLogado}" type="preRenderView">
<f:attribute name="perfil" value="profesor"/>
</f:event>
在後臺bean的代碼,事件屬性是空的,但他們不應該:
public void verificaUsuarioLogado(ComponentSystemEvent event) {
log.debug("URL " + UtilidadesBean.getRequestURL());
log.debug("Verificando si está logado");
if (event.getComponent().getAttributes().isEmpty()) {
log.debug("No hay nada");
} else {
Iterator itr = event.getComponent().getAttributes().entrySet().iterator();
while (itr.hasNext()) {
Entry entrada = (Entry) itr.next();
System.out.print("Clave " + (String) entrada.getKey() + " Valor " + (String) entrada.getValue());
}
String perfil = (String) event.getComponent().getAttributes().get("perfil");
log.debug("Tengo el perfil de la página " + perfil);
}
String perfil = (String) event.getComponent().getAttributes().get("perfil");
log.debug("Tengo el perfil de la página " + perfil);
日誌輸出:
14-abr-2013 12:29:20 DEBUG beans.RegistroBean.verificaUsuarioLogado:231 - URL /spum/generainforme.xhtml
14-abr-2013 12:29:20 DEBUG beans.RegistroBean.verificaUsuarioLogado:232 - Verificando si está logado
14-abr-2013 12:29:20 DEBUG beans.RegistroBean.verificaUsuarioLogado:235 - No hay nada
14-abr-2013 12:29:20 DEBUG beans.RegistroBean.verificaUsuarioLogado:246 - Tengo el perfil de la página null
想法?
你的建議解決了這個問題。關於身份驗證檢查,我的身份驗證與存儲在xml文件中的用戶/密碼/配置文件一起工作。我同意你關於這不是最好的地方,但它很容易發展和維護。我應該創建一個複雜的servlet過濾器不安全......你同意嗎? – minyatur