如何在facelets应用程序中获取应用程序名称
how to get name of application in facelets app
我试图解决的问题:在我们的日志管理器中区分应用程序。
我正在尝试找到一种可靠的方法来从 Seam 应用程序中提取应用程序名称以用于日志记录语句。例如,如果应用程序是 http://company.us/bottles/,我想获取字符串 "bottles"。
我试过了FacesContext.getCurrentInstance().getExternalContext().getRequestServletPath()
一种可怕的方式:
Map appProps = (HashMap)Contexts.getApplicationContext().get("org.jboss.seam.properties");
String answer = appProps.get("org.jboss.seam.core.init.jndiPattern").toString();
String answers[] = answer.split("/");
applicationName = answers[0];
所以,希望有比这更好的方法
<version.richfaces>3.3.1.GA</version.richfaces>
<version.seam>2.2.2.Final</version.seam>
我最终得到:
ServletContext ctx = ServletLifecycle.getServletContext();
String appName = ctx.getContextPath().replace("/","");
满足我的需求。
我试图解决的问题:在我们的日志管理器中区分应用程序。
我正在尝试找到一种可靠的方法来从 Seam 应用程序中提取应用程序名称以用于日志记录语句。例如,如果应用程序是 http://company.us/bottles/,我想获取字符串 "bottles"。
我试过了FacesContext.getCurrentInstance().getExternalContext().getRequestServletPath()
一种可怕的方式:
Map appProps = (HashMap)Contexts.getApplicationContext().get("org.jboss.seam.properties");
String answer = appProps.get("org.jboss.seam.core.init.jndiPattern").toString();
String answers[] = answer.split("/");
applicationName = answers[0];
所以,希望有比这更好的方法
<version.richfaces>3.3.1.GA</version.richfaces>
<version.seam>2.2.2.Final</version.seam>
我最终得到:
ServletContext ctx = ServletLifecycle.getServletContext();
String appName = ctx.getContextPath().replace("/","");
满足我的需求。