需要没有"Brackets"打印的ArrayList

Doc*_*day 1 java jsp jsp-tags arraylist

大家好,我有一个arraylist出现[MCA, MCB, COMM, DMISA]在jsp上.

我在jsp上调用它:

<td>${bean.CodesNames}</td>
Run Code Online (Sandbox Code Playgroud)

在bean中,getter是:

public void setCodesNames(ArrayList<String> CodesNames)
{
    this.CodesNames = CodesNames;
}
Run Code Online (Sandbox Code Playgroud)

如何在没有括号的情况下显示?

Mat*_*all 6

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

<c:forEach items="${CodesNames}" var="item" varStatus="status">
    ${item}<c:if test="${!status.last}">,</c:if>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

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

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

(如果您不熟悉Guava,请参阅JoinerJavaDocs.)