大家好,我在jsp上有一个显示为[MCA, MCB, COMM, DMISA]的arraylist。

我在jsp上调用它:

<td>${bean.CodesNames}</td>


在bean中,getter是:

public void setCodesNames(ArrayList<String> CodesNames)
{
    this.CodesNames = CodesNames;
}


没有括号怎么显示?

最佳答案

您将得到括号,因为隐式调用了ArrayList#toString(),以便将列表转换为可打印的字符串。您可以通过在JSP中自己打印列表来解决此问题:

<c:forEach items="${CodesNames}" var="item" varStatus="status">
    ${item}<c:if test="${!status.last}">,</c:if>
</c:forEach>


或使用bean getter而不是返回字符串:

public String getCodesNamesAsString()
{
    // using a Guava Joiner
    return Joiner.on(",").useForNull("null").join(getCodesNames());
}


(如果您不熟悉番石榴,请参见Joiner JavaDocs。)

09-13 12:01