如何在不使用JSF的情况下配置ELResolver

时间:2016-07-25 06:54:01

标签: jsp el

在我的项目中,我重写了一些函数extends javax.el.ELResolver(3.0版)。我将Class放在JSF faces-config.xml中的配置文件中:

<application>
    <el-resolver>com.myapp.common.el.SectionELResolver</el-resolver>
</application>

现在,我想删除JSF框架,但要保留ELResolver的配置。如何配置? 如何编写servlet以及如何在web.xml中配置?

1 个答案:

答案 0 :(得分:1)

您只能通过JspApplicationContext#addELResolver()以编程方式执行此操作。对此没有web.xml支持。您可以使用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.
    }

}