Nic*_*eld 5 java jsp jstl jsp-tags
你如何在不同类型的jsp中正确呈现对象列表?比如说,我必须以指定的顺序渲染这些不同的对象.
一种方法可能是使用公共类型变量或instanceof,但这意味着有一个大的switch/if语句来管理它们:
<c:forEach var="o" items="${bigListofObjects}" >
<c:choose>
<c:when test='${o.type=="simple"}' >
<!-- render simple -->
</c:when>
<c:when test='${o.type=="complex"}' >
<!-- render complex -->
</c:when>
<!-- etc etc ... -->
</c:choose>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
我可以为每个类添加一个render()方法,但这意味着将视图与其余代码混合.
如果我想稍后渲染另一种类型会发生什么?我可以用自定义jsp标签做些什么吗?
您可以包含另一个jsp,它将为给定类型执行正确的呈现.例如:
<c:forEach var="o" items="${bigListofObjects}" >
<c:import url="render-${o.type}.jsp"/>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |