How to add a custom VariableResolver in pure JSP(如何在纯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


基础教程推荐
- Java:带有char数组的println给出乱码 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 降序排序:Java Map 2022-01-01