如何在百万富翁页面内打印java对象?

时间:2018-06-04 03:46:48

标签: java spring spring-boot thymeleaf

我需要在price.html中显示model对象的resultset数据,其中包含百里香。访问结果集对象的子元素的方法是什么。有没有办法打印整个对象。就像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;
    }

3 个答案:

答案 0 :(得分:4)

如果您正在寻找的话,在Java中没有通用的方法来“toString”开箱即用的任何随机对象。您将被留给iterating through resultSet项并直接打印它的属性。

如果您只需要任何对象的文本表示,您可以将其编组为oder中的JSON以查看它。

答案 1 :(得分:0)

如果要使用百日咳来访问结果集对象的子元素,则需要执行以下操作。

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

注意:我假设结果集是对象的集合。

答案 2 :(得分:0)

您可以覆盖对象类的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()方法添加到原始类的扩展类中,您可以在模板中调用它。