java - 需要打印没有 "Brackets"的 ArrayList

标签 java jsp arraylist jsp-tags

大家好,我有一个数组列表,在 jsp 上显示为 [MCA, MCB, COMM, DMISA]

我在 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());
}

(如果您不熟悉 Guava,请参阅 Joiner JavaDocs。)

关于java - 需要打印没有 "Brackets"的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6816506/

相关文章:

mysql - JSP 和 MySQL 的外键

java - 字段超出范围java

java - 在 Spring MVC 中不使用 @Valid 验证 POJO

Java - 使用另一个类的变量作为方法参数

java - 我可以阻止我的程序打印重复信息吗

java - 使用嵌套连接构建 List<> 对象过滤的复杂 jpql 查询

java - 如何使用 split() 读取文件字符串的第一个字符?

java - Tomcat集群

java - 使用 HIbernate 从数据库检索日期时获取错误的日期时间字段值

java - 在 jquery 中动态调用同级时获取未定义