如何将 Java 对象列表检索到 jsp 文件中

How to retrieve a list of Java objects into a jsp file

我正在处理一个 java-jsp 项目,我有一个要在 jsp 页面中显示的 java 个对象的列表。包含这些对象列表的 java 行如下:

private List<String> derivedNames;
private List<DiffResponse> diffResponses;
private List<String> pRResults;

DiffResponse class 是这样的:

private String path;
private List<DiffOutput> diffOutputList;
private boolean isConflict;

在 jsp 文件中,当我 console.log diffOutput 时,它 returns 纯 java 对象如下所述,没有显示里面的内容。

org.example.rs.umt.DiffOutput@4d9d8911, 
org.example.rs.umt.DiffOutput@3cc6fff7, 
org.example.rs.umt.DiffOutput@311bce65, 
org.example.rs.umt.DiffOutput@7611bf66, 
org.example.rs.umt.DiffOutput@57e575b4, 
org.example.rs.umt.DiffOutput@5c5711f8,

下面是 jsp 检索数据的代码:

<c:forEach items="${results.diffResponses}" var="diffResponse">
      var distributionPath = '<c:out value="${diffResponse.distributionPath}"/>'
      console.log("Dist: ",distributionPath);
      var diffOutputList = '<c:out value="${diffResponse.diffOutputList}"/>'
      console.log(diffOutputList);
</c:forEach>

这里的distributionPath是按预期获取的

好吧,您的 diffOutputList 本身就是一个列表。所以你必须像这样嵌套 <c:forEach>

 <c:forEach items="${results.diffResponses}" var="diffResponse">
      var distributionPath = '<c:out value="${diffResponse.distributionPath}"/>'
      console.log("Dist: ",distributionPath);
      <c:forEach items="${diffResponse.diffOutputList}" var="diffOutput">
           var diffOutput = '<c:out value="${diffOutput.???}"/>'
           console.log(diffOutput);
      </c:forEach>
</c:forEach>

如果包含了 ???在代码中。在那里你必须设置一个存在于 class DiffOutput.

中的字段

另一种方法是覆盖 class DiffOutput 中的 .toString() 方法。