jsf - register SessionListener in faces-config
-
01-06-2021 - |
Pregunta
I created a SessionListener
but it doesn't work because I don't know how to register it in the faces-config.xml
. I tried the following:
SessionListener
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent arg0) {
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String param = request.getParameter("language");
IDAdminLanguage idl = (IDAdminLanguage) JSFUtils.resolve("#{languageBean}");
if (param != null && param.length() > 0) {
idl.setLanguage(param);
} else {
idl.setLanguage("de");
}
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) { }
}
faces-config
<listener>
<listener-class>ch.idadmin.util.SessionListener</listener-class>
</listener>
Solución
Yuu need to add that configuration in web.xml
(and not in faces-config.xml)
<web-app ...>
<listener>
<listener-class>ch.idadmin.util.SessionListener</listener-class>
</listener>
</web-app>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow