How to add a custom VariableResolver in pure JSP(如何在纯JSP中添加自定义VariableResolver)
本文介绍了如何在纯JSP中添加自定义VariableResolver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望在不使用JSF或类似的东西时以编程方式添加一个自定义的VariableResolver,以便在1中提到的在作用域中查找Bean之前,EL将首先尝试解析其中的变量。
目标是使数据库中的对象按名称在EL中可用,并且可能有很多对象需要放入某个作用域。
现在,我将一个特殊的Bean放到会话作用域中,名称为‘z’,该Bean扩展了Map接口,因此允许使用${z.Address}、${z.fullName}这样的表达式访问对象。我正在尝试消除那个"z"。如果我设法在筛选器中插入解析器会更好(我肯定会检查不会对每个Web请求多次执行此操作)
(编辑:可能我是在说ELContext,如何在那里放置我自己的VariableMapper或ELResolver或类似的东西)
推荐答案
您可以按如下方式注册您的自定义ELResolver
。
@WebListener
public class Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
ServletContext servletContext = event.getServletContext();
JspApplicationContext jspContext = JspFactory.getDefaultFactory().getJspApplicationContext(servletContext);
jspContext.addELResolver(new YourELResolver());
}
// ...
}
注意:此方法需要Servlet 2.5/JSP2.1或更高版本。
这篇关于如何在纯JSP中添加自定义VariableResolver的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在纯JSP中添加自定义VariableResolver
猜你喜欢
- Safepoint+stats 日志,输出 JDK12 中没有 vmop 操作 2022-01-01
- 如何使用WebFilter实现授权头检查 2022-01-01
- 将log4j 1.2配置转换为log4j 2配置 2022-01-01
- value & 是什么意思?0xff 在 Java 中做什么? 2022-01-01
- Spring Boot连接到使用仲裁器运行的MongoDB副本集 2022-01-01
- 从 finally 块返回时 Java 的奇怪行为 2022-01-01
- C++ 和 Java 进程之间的共享内存 2022-01-01
- Eclipse 插件更新错误日志在哪里? 2022-01-01
- Java包名称中单词分隔符的约定是什么? 2022-01-01
- Jersey REST 客户端:发布多部分数据 2022-01-01