如何在不使用 JSF 的情况下配置 ELResolver
How to configure ELResolver without using JSF
在我的项目中,我重写了一些函数扩展 javax.el.ELResolver
(3.0 版)。我把 Class 放在 JSF faces-config.xml
:
的配置文件中
<application>
<el-resolver>com.myapp.common.el.SectionELResolver</el-resolver>
</application>
现在,我想删除 JSF 框架,但要保留我的 ELResolver
配置。如何配置?
web.xml
?
写一个servlet可以做什么,如何配置
您只能通过 JspApplicationContext#addELResolver()
. There's no web.xml
support for this. You can use a ServletContextListener
以编程方式完成任务。
@WebListener
public class ApplicationListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
JspFactory.getDefaultFactory()
.getJspApplicationContext(event.getServletContext())
.addELResolver(new SectionELResolver());
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// NOOP.
}
}
在我的项目中,我重写了一些函数扩展 javax.el.ELResolver
(3.0 版)。我把 Class 放在 JSF faces-config.xml
:
<application>
<el-resolver>com.myapp.common.el.SectionELResolver</el-resolver>
</application>
现在,我想删除 JSF 框架,但要保留我的 ELResolver
配置。如何配置?
web.xml
?
您只能通过 JspApplicationContext#addELResolver()
. There's no web.xml
support for this. You can use a ServletContextListener
以编程方式完成任务。
@WebListener
public class ApplicationListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
JspFactory.getDefaultFactory()
.getJspApplicationContext(event.getServletContext())
.addELResolver(new SectionELResolver());
}
@Override
public void contextDestroyed(ServletContextEvent event) {
// NOOP.
}
}