如何在我的spring项目中编写标签?


问题内容

我想TagSupport在我的spring框架中写我的标签(扩展)。在我的标签类中,将使用应在spring前自动注入的某些服务。但是我总是得到null,似乎spring不能在我的标签类中注入服务实例。

代码如下:

public class FetchTagNameTag extends TagSupport {

   @Autowired
   private TaskService taskService;
   ...

taskService 始终为null。

我该如何解决?谢谢。


问题答案:

JSP标签对象不是由Spring管理的,而是由servlet容器管理的。结果,您无法将内容自动连线到标签中。

如果您需要从Spring应用程序上下文中获取bean,那么您的Spring
MVC控制器需要将bean设置为request属性(使用request.setAttribute()),以便标记对象可以获取它。