启用 JSP 自定义标签库以使用 spring 服务 bean

Enable JSP Custom taglib to use spring service beans

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

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

自定义标签库 class 基本上类似于以下内容:

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 标签库将不受支持。 Spring 已经通过他们的标签库 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-form.tld.html#spring-form.tld.select

提供了我需要的东西