- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在使用 Thymeleaf 设置 Spring MVC 项目,遵循以下教程:http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html#spring-mvc-configuration
为了 KISS 代码,我首先用 @Inject private ApplicationContext applicationContext
替换了 implements ApplicationContextAware
和 setter 方法。但我不明白为什么我必须在 SpringResourceTemplateResolver
上调用 setApplicationContext()
,而它继承了 Spring 接口(interface) ApplicationContextAware
。
如何避免这种情况?
编辑:如果我删除 templateResolver.setApplicationContext(applicationContext);
行,则在访问根目录时会出现此异常:
java.lang.IllegalArgumentException: Application Context cannot be null
org.thymeleaf.util.Validate.notNull(Validate.java:37)
org.thymeleaf.spring4.templateresource.SpringResourceTemplateResource.<init>(SpringResourceTemplateResource.java:64)
org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver.computeTemplateResource(SpringResourceTemplateResolver.java:69)
org.thymeleaf.templateresolver.AbstractConfigurableTemplateResolver.computeTemplateResource(AbstractConfigurableTemplateResolver.java:1221)
org.thymeleaf.templateresolver.AbstractTemplateResolver.resolveTemplate(AbstractTemplateResolver.java:356)
org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:840)
org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:608)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1087)
org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1061)
org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:189)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1257)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1037)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:980)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
注意:我使用最新版本:Spring 4.3.3.RELEASE 和 Thymeleaf 3.0.2.RELEASE(当然我导入了 thymeleaf-spring4
)。
最佳答案
重新检查我错过的内容后,似乎缺少的 @Configuration
注释是 Spring 没有将 ApplicationContext
注入(inject)到 SpringResourceTemplateResolver
中的原因。
关于java - 如何避免在 SpringResourceTemplateResolver 上调用 setApplicationContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40656273/
我目前正在使用 Thymeleaf 设置 Spring MVC 项目,遵循以下教程:http://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring
本文整理了Java中org.springframework.web.context.support.WebApplicationObjectSupport.setApplicationContext(
我是一名优秀的程序员,十分优秀!