2016-07-25 93 views
0

在我的项目中,我重写了一些扩展为javax.el.ELResolver(3.0版)的函数。我把在类JSF faces-config.xml配置文件中:如何在不使用JSF的情况下配置ELResolver

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

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

回答

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. 
    } 

} 
相关问题