2016-09-13 74 views
-1

IM使用的toString显示表:对于表是否有效使用toString?

public String toString(){ 
    return(
      "<table>" 
      +"<tr>" 
      +"<th> ID </th>" 
      +"<th> Nombre </th>" 
      +"<th> Enero </th>" 
      +"</tr>" 
      +"<td>"+idcliente+"</td>" 
      +"<td>"+nombre+"</td>" 
      +"<td>"+enero+ "</td>" 
      +"</tr>" 
      +"</table>"); 
} 

这种方法是在getter和setter方法的Java类,我想和JSTL一个jsp显示,这是正确的?

+1

我不认为这是好方法。你不应该使用toString()像这样 – Abhijeet

+1

@MatthewDiana把HTML放在对象*中是一个不好的方法。 – chrylis

+0

确定@abnijeet谢谢! –

回答

2

这里是耦合表示(类模型)和表示(HTML),这是一个糟糕的设计。相反,使用HTML模板,如Thymeleaf或JSP和对象传递给它:

<table> 
    <tr> 
    <th>ID</th> 
    <th>Nombre</th> 
    <th>Enero</th> 
    </tr> 
    <tr> 
    <td th:text="${cliente.idcliente}" /> 
    <td th:text="${cliente.nombre}" /> 
    <td th:text="${cliente.enero}" /> 
    </tr> 
</table> 

这样,您就可以轻松地更改HTML不与您的数据模型(干扰,如果你想使用英语在你的界面中?)并使用你的toString()来达到其正确的目的:以可读形式打印对象的状态以进行调试。