尝试百里香没有成功

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,但现在什么都没有显示 请注意,如果您使用的是其他人的内容,您必须包括正确的署名。

以上是关于尝试百里香没有成功的主要内容,如果未能解决你的问题,请参考以下文章

在百里香中显示项目列表总是出错

如何将两个参数传递给百里香模板?

带变量的百里香绝对 URL

在百里香模板中插入css

如何使百里香弹簧安全命名空间可用?

weblogic服务器中的百里香登录错误