我正在使用Spring MVC 3和Thymeleaf。我想在表中显示字符串,但没有结果(空白表格单元格)。我究竟做错了什么?我的控制器类:
@Controller
@RequestMapping(value="table", method = RequestMethod.GET)
public class TableController {
@Autowired
DaneEndpoint daneEndpoint;
public String tabela(Model model){
model.addAttribute("tytul", daneEndpoint.getAll().get(0));
model.addAttribute(model);
return "table";
}
}
和html页面(table.html):
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h3 align="center">table</h3>
<div align="left">
<form action="table.html" th:object="${tytul}" method="get">
<fieldset>
<div align="center">
<table border="1">
<thead>
<tr>
<th th:text="">tytul</th>
</tr>
</thead>
<tbody>
<tr>
<td th:text=""><span th:text="#{table.tytul}"/></td>
</tr>
</tbody>
</table>
</div>
</fieldset>
</form>
</div>
</body>
</html>
感谢您的帮助。
答案 0 :(得分:1)
<span th:text="#{table.tytul}"/>
` 从消息属性中获取值,因此如果table.html直接在浏览器中打开,则它将为空白
如果通过应用程序访问此页面,那么,
<th th:text="">
是无效的thymeleaf表达式语法(因为空字符串),将发生解析错误..并且
<td th:text=""><span th:text="#{table.tytul}"/></td>
包含作为td的子项的span,因此,th:text不需要包含在td中,因为td中的文本最终会替换为..
未关闭进一步的元标记..
试试这个
> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head>
> <title></title>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
> </head> <body>
> <h3 align="center">table</h3>
> <div align="left">
> <form action="table.html" th:object="${tytul}" method="get">
> <fieldset>
> <div align="center">
> <table border="1">
> <thead>
> <tr>
> <th >tytul</th>
> </tr>
> </thead>
> <tbody>
> <tr>
> <td><span th:text="#{table.tytul}"/></td>
> </tr>
> </tbody>
> </table>
> </div>
> </fieldset>
> </form>
> </div> </body> </html>
如果在浏览器中直接打开以进行原型设计时需要显示表上的值,请尝试使用
> <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head>
> <title></title>
> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body>
> <h3 align="center">table</h3>
> <div align="left">
> <form action="table.html" th:object="${tytul}" method="get">
> <fieldset>
> <div align="center">
> <table border="1">
> <thead>
> <tr>
> <th >tytul</th>
> </tr>
> </thead>
> <tbody>
> <tr>
> <td><span th:text="#{table.tytul}"/> <span th:remove="all">content</span></td>
>
> </tr>
> </tbody>
> </table>
> </div>
> </fieldset>
> </form>
> </div> </body> </html>
答案 1 :(得分:0)
好像你错过了结尾</tr>
和结尾</div>
。尝试添加。