我创建了一个SessionListener
,但是它不起作用,因为我不知道如何在faces-config.xml
中注册它。我尝试了以下方法:
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>
最佳答案
Yuu需要在web.xml
中添加该配置(而不是faces-config.xml中)
<web-app ...>
<listener>
<listener-class>ch.idadmin.util.SessionListener</listener-class>
</listener>
</web-app>
关于java - jsf-在faces-config中注册SessionListener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10188896/