简体   繁体   English

jsf - 在faces-config中注册SessionListener

[英]jsf - register SessionListener in faces-config

I created a SessionListener but it doesn't work because I don't know how to register it in the faces-config.xml . 我创建了一个SessionListener但它不起作用,因为我不知道如何在faces-config.xml注册它。 I tried the following: 我尝试了以下方法:

SessionListener 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 need to add that configuration in web.xml (and not in faces-config.xml) Yuu需要在web.xml添加该配置(而不是在faces-config.xml中)

<web-app ...>
        <listener>
        <listener-class>ch.idadmin.util.SessionListener</listener-class>
    </listener>
</web-app>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM