【发布时间】:2021-12-08 20:44:19
【问题描述】:
我正在处理一个 java-jsp 项目,并且我有一个要在 jsp 页面中显示的 java 对象列表。包含这些对象列表的 java 行如下:
private List<String> derivedNames;
private List<DiffResponse> diffResponses;
private List<String> pRResults;
DiffResponse 类是这样的:
private String path;
private List<DiffOutput> diffOutputList;
private boolean isConflict;
在 jsp 文件中,当我 console.log diffOutput 时,它返回纯 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
【问题讨论】:
-
我猜 DiffOutput 不会覆盖 toString() 方法,因此您不会获得所需的输出。只需覆盖 toString() 并记录您想要的信息。