gpt4 book ai didi

java - JSTL 删除附加符号

转载 作者:行者123 更新时间:2023-12-01 15:35:14 25 4
gpt4 key购买 nike

我必须显示标题为“Region”的数据库列中的列表......对于该列表中的每个项目,如果它包含子值(Division),它必须显示类似这样的内容,

1 东北师1 |分区2

2 中西部分区1 |师2 |师3

3 南区1....等等

这就是我到目前为止所做的,我将区域和部门放在单独的列表中,并通过在 <c:foreach> 内循环调用它。如下图所示,

<c:forEach var="DivisionList" items="${RegionSection.DivisionList}" varStatus="vs">
<c:if test="${DivisionList.divisionID== id}" >
${DivisionList.title}
</c:if>
</c:forEach>

通过使用上述内容,我能够获取并排列整个数据,而无需使用管道“|”....附加管道我尝试使用“最后”条件,<c:if test="${!vs.last}"> | </c:if>但这只会删除分区列表最后一项中的管道,这不是我想要的......

是否有可以使用 JSTL 实现的解决方法,或者我是否必须使用 Javascript 才能使其工作?任何帮助将不胜感激...

谢谢

最佳答案

您应该关心变量的命名,因为 DivisionList属性实际上是 Division ,并且应该命名为变量,并使用小写的 d: division .

只需使用相反的策略:在除第一个部分之外的每个部分之前添加一个管道,并使用一个标志来知道第一个部分是否已经显示:

<c:set var="first" value="true"/>
<c:forEach var="division" items="${RegionSection.DivisionList}">
<c:if test="${division.divisionID == id}">
<c:if test="${!first}"> | </c:if><c:out value="${division.title}"/>
<c:set var="first" value="false"/>
</c:if>
</c:forEach>

另外,使用 c:out确保特殊 HTML 字符(如 <> )被正确转义。

关于java - JSTL 删除附加符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8968292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com