如何在我的春季项目中写标签?

Tom*_*Tom 8 java spring jsp jsp-tags spring-mvc

我想TagSupport在我的spring框架中编写我的标签(extends ).在我的标签类中,将使用一些应该在春天自动注入的服务.但我总是得到null,似乎spring无法在我的tag类中注入服务实例.

代码如下:

public class FetchTagNameTag extends TagSupport {

   @Autowired
   private TaskService taskService;
   ...
Run Code Online (Sandbox Code Playgroud)

taskService 永远是空的.

我该如何解决这个问题?谢谢.

Ste*_* Wu 15

尝试利用RequestContextAwareTag.它将为您提供获取RequestContext和WebApplicaitonContext的方法.看看这里.


ska*_*man 5

JSP标签对象不是由Spring管理的,它们是由servlet容器管理的。因此,您无法将内容自动装配到标签中。

如果您需要从 spring appcontext 获取 bean,那么您的 Spring MVC 控制器需要将 bean 设置为请求属性(使用request.setAttribute()),以便标记对象可以获取它。