尝试百里香没有成功
Posted
技术标签:
【中文标题】尝试百里香没有成功【英文标题】:Trying out thymeleaf without success 【发布时间】:2019-01-08 23:10:15 【问题描述】:我正在尝试使用所有教程中描述的 thymeleaf,但不知何故我的 html 没有被加载。
这是我的项目结构:
这些是依赖项:
dependencies
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE")
compile group: 'org.thymeleaf', name: 'thymeleaf', version: '2.0.5'
它什么也不做,只是打印出“Hello”消息,但是,资源文件夹中的 HTML 没有被使用。我错过了什么?
HelloController.java 只有 1 个方法:
@RequestMapping("/hello")
public String hello(Model model, @RequestParam(value="name",
required=false, defaultValue="World") String name)
model.addAttribute("name", name);
return "hello " + name;
而 main 方法只是通常的运行。
【问题讨论】:
您能否提供所有相关代码或存储库的链接?通过这种方式,我们可以分析所有必要的部分并进一步帮助您。提前谢谢你:) 能否提供控制器的完整代码? 您的应用程序类、html 文件和整个控制器中有哪些代码?然后我们可以尝试重现问题 【参考方案1】:model.addAttribute 使得获取 html 文件中的数据成为可能。 您的方法中的 return 应该返回您想要的模板的名称。例如你的 hello.html
在你的 hello.html 中放置如下内容:
<p th:text="$name"></p>
那么它应该可以工作了。
您的控制器看起来像这样,因此返回包含来自 hello.html 的模板名称 hello:
@RequestMapping(value="/hello", method= RequestMethod.GET)
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name)
model.addAttribute("name", name);
return "hello";
【讨论】:
我实际上在 html 中有那行,但它仍然不起作用。我将我的方法的返回更改为只返回“你好”,但仍然没有。在网页上我只看到“hello”字符串。 @marti6addams 你试过了吗:@RequestMapping(value="/hello", method= RequestMethod.GET)
或@GetMapping("/hello")
【参考方案2】:
您必须更改您的依赖项,而不是 org.thymeleaf
您需要以下依赖项:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '1.5.1.RELEASE'
希望这能解决您的问题。
Source
【讨论】:
【参考方案3】:您可能为控制器使用了不正确的注释。
使用
@控制器
示例如下:
@Controller
public class MyController
@RequestMapping(value="/hello", method= RequestMethod.GET)
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name)
model.addAttribute("name", name);
return "hello";
【讨论】:
hmmm,我试了一下,发现异常:2018-08-01 16:11:30.528 ERROR 10908 --- [nio-8080-exec-2] oaccC[.[.[/]. [dispatcherServlet]:servlet [dispatcherServlet] 的 Servlet.service() 在路径 [] 的上下文中抛出异常 [循环视图路径 [hello]:将再次分派回当前处理程序 URL [/hello]。检查您的 ViewResolver 设置! (提示:由于默认视图名称生成,这可能是未指定视图的结果。)] 根本原因 我重命名了我的html,但现在什么都没有显示 请注意,如果您使用的是其他人的内容,您必须包括正确的署名。以上是关于尝试百里香没有成功的主要内容,如果未能解决你的问题,请参考以下文章