簡體   English   中英

如何在 thymeleaf 模板中打印 java 對象?

[英]How to print a java object inside the thymeleaf template?

我需要在包含百里香葉的 price.html 中顯示resultset對象的model數據。 訪問結果集對象的子元素的方式是什么。 有沒有辦法打印整個對象。 就像 toString() 一樣。 這是我在 spring-boot 中的Controller

@PostMapping("/price")
public ModelAndView pricePost(@Valid @ModelAttribute("priceSearch") PriceSearch priceSearch, 
        BindingResult bindingResult, Model model) {
    modelAndView.addObject("resultSet", resultSet);
    modelAndView.setViewName("price");
    return modelAndView;
}

如果這是您正在尋找的,java 中沒有通用的方法來“toString”任何開箱即用的隨機對象。 您將需要遍歷resultSet 的項目並直接打印它的屬性。

如果您只需要對象的任何文本表示,您可以將其編組為 JSON 以便查看它。

如果要使用 thymeleaf 訪問結果集對象的子元素,則需要執行以下操作。

<th:block th:each="iterator : ${resultSet}">
     <p th:text=${iterator.name}></p>
</th:block>

注意:我假設結果集是一個對象集合。

您可以覆蓋對象類的 toString() 方法。 隨意迭代嵌套的子元素並將它們的 toString() 響應添加到返回值,例如:

@Override
public String toString()
{
  String result = /* other properties from the class */ 
  result += "[";
  for (SubElementClass o in this.subElements)
  {
     result += String.Format("(%s)", o.toString());
  }
  result += "]";
  return result;
}

覆蓋 SubElementClass 中的 toString() 方法也是有意義的。

另一種選擇是不覆蓋 toString 方法,而是將 dump() 方法添加到原始類的擴展類中,您可以在模板中調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM