java - 启用 JSP 自定义 taglib 以使用 spring 服务 bean

标签 java spring-mvc jsp-tags autowired taglib

我正在使用 Spring MVC 3.2.4(也是 Spring Core 3.2.4)以及 jpa 和 hibernate 作为后端开发一个 Web 应用程序。目前使用Tomcat v6.0进行测试。

我有一个案例,当我创建一个 JSP 自定义标记库(使用 jsp-api 2.1.1 和 servlet-api 2.5)时,它是一个自定义查找下拉列表,我会给它查找类型,它会从数据库获取此类型下的项目以呈现为列表中的项目。

自定义 taglib 类基本上类似于以下内容:

public class LookupsTag extends SimpleTagSupport {
  @Autowired
  private static LookupService lookupService;
  private String type;

    public void doTag() throws JspException, IOException {
        List<Lookup> items = lookupService.findByType(getType());

        StringBuffer buff = new StringBuffer();
        buff.append("<select>");
        //...adding items...
        buff.append("</select>");
        getJspContext().getOut().write(buff.toString());
    }
  //getters and setters
}

我已经相应地创建了 tld 文件。

一旦我尝试使用此自定义标记查看页面,就会抛出 NullPointerException,因为在 doTag() 方法中,lookupService 实例为 null

Spring似乎不支持自定义jsp标签。有没有办法解决这个问题,使服务实例自动连接?或者我缺少一些 Spring 配置要做?

谢谢

最佳答案

感谢 Alan Hay 的评论,自定义 jsp taglib 将不受支持。 Spring 已经通过他们的 taglib http://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-form.tld.html#spring-form.tld.select 提供了我需要的东西。

关于java - 启用 JSP 自定义 taglib 以使用 spring 服务 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28304546/

相关文章:

java - 正确(并且轻松?)启动 Spring MVC 项目

java - Spring 3 @NumberFormat 不适用于表单 :input Tag

java - 从 ResourceProcessor 中摘录投影和自定义链接

java - 将排序映射从 Java 转换为 Javascript 中可读的排序对象

java - Jenkins Build on Sonar Analysis 的错误 projectKey

java - 以编程方式配置的嵌入式 Tomcat 8 应用程序

java - 如何处理 RESTful Web 服务中的聚合和组合

java - 为什么 fn 是 :escapeXml() adding square brackets to String

jsp - 无法在tomcat中为JSP编译类

java - Android:从输入流定义图像类型(jpeg 或 jpeg2000)