在尝试解决类似issue的过程中,由于所谓的好处,我一直在寻求切换到百里香,并尝试使用Spring Boot的简单入门应用。
但是,当我在html页面中使用th
时,它会给我一个“无法解决'var'”错误。我能够通过IntelliJ的跟踪器上发现的这个丑陋的黑客来解决这个错误:
// hack for Thymeleaf plugin - duplicate model properties
if (false) {
WebContext context = new org.thymeleaf.context.WebContext(null, null, null);
// Here we must dup all model attributes
context.setVariable("name", name);
}
这使控制器看起来像,例如:
@RequestMapping("/greeting")
public String greeting(@RequestParam(value = "name", required = false, defaultValue = "World") String name,
Model model) {
model.addAttribute("name", name);
// This code is repetitive and bloating
// Every model attribute must be added here!
if (false) {
WebContext context = new org.thymeleaf.context.WebContext(null, null, null);
context.setVariable("name", name);
}
return "greeting";
}
丑陋,因为这个代码会对无意义的if (false)
产生一个明显的警告,但也因为我将拥有一些观点和控制器,而且坦率地说是尴尬。如果这是一次性的一件事我会忽略它;不是这样的。
在了解Spring和Boot以及所有配置可能性的同时,我注意到有一些方法可以告知Spring各种条件,这将有助于它更好地帮助您。例如,提供元数据以辅助属性文件中的内容辅助(抱歉,我是新的,所以这可能不是一个相关的例子)。
有没有更简洁的方法来修复“无法解决'var'”错误?
我尝试在应用程序属性文件中调整百万美元属性,但所有默认值似乎都是正确的。
使用IntelliJ IDEA Ultimate 14.1.3和4。