我正在开发 Java Web 应用程序,通过使用数据库设置 JDBC 来填充 2 个 bean。我使用 JSP 查看页面,并以表格形式获得正确的结果。我的一张 table 上有关于司机和乘客的数据。该 bean 正在填充整个数据。现在我需要利用 JSTL 标签来仅查看驱动程序详细信息。所以我在JSP中编写了以下代码块。我认为 if 标签有一些问题。当我删除它时,我得到了答案,但它包括司机和乘客。任何建议..
<table width="100%" cellpadding = "2" cellspacing = "0" border= "0">
<c:forEach items='${detailBean.personBean}' var='person' varStatus='status'>
<c:if test='${person.role=='DRIVER' }'>
<tr><td nowrap width = "10%" align="right"><c:out value="VEHNO: " /> </td> <td nowrap align="left"> <c:out value='${person.vehNo}'/></td></tr>
<tr><td nowrap width = "10%" align="right"><c:out value="ROLE: " /></td> <td nowrap align="left"> <c:out value='${person.role}'/></td></tr>
<tr><td nowrap width = "10%" align="right"><c:out value="DRVRFLAG: " /></td> <td nowrap align="left"> <c:out value='${person.drvrFlag}'/></td></tr>
</c:if>
</c:forEach>
</table>
最佳答案
您使用的引号无效。尝试遵循标准约定,始终对属性值使用双引号,并仅在 EL 表达式内使用单引号。特别是c:if
被错误地引用了。它应该看起来像这样:
<c:if test="${person.role=='DRIVER'}">
但是,我想知道它是否对您有用,因为它应该会产生 JSP 解析器错误。这可能取决于服务器。
关于java - Java Web 应用程序中的 JSTL 和 JSP 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336674/