显示Thymeleaf的数据

时间:2013-07-07 21:23:02

标签: spring spring-mvc thymeleaf

我正在使用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>


感谢您的帮助。

2 个答案:

答案 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>。尝试添加。