我有一些jsp页面有一些条件:
<%
if (filterPresent.equals("true") && !selectedFilterCategory.isEmpty()){
%>
<c:if test="${entry.category eq param.selectedFilterCategory}">
<%
}
%>
RENDER A TABLE WITH ITEMS
<%
if ( filterPresent.equals("true") && !selectedFilterCategory.isEmpty() ) {
%>
</c:if>
<%
}
%>
如果filterPresent值为true,我只想显示一些项目(与该类别匹配的项目)。如果它不存在,我想显示所有项目。
我得到的错误是:
An error occurred at line: 48 in the jsp file: /jsp//ejbChildRule.jsp
Syntax error, insert "while ( Expression ) ;" to complete BlockStatements
45: %>
46: <c:if test="${entry.category eq param.selectedFilterCategory}">
47: <%
48: }
49: %>
50: <tr class="<%=currentBackground%>">
51: <td class="<%=currentBackground%>" align="left" valign="middle" nowrap>
我可以用这种方式实现我想要的吗?
答案 0 :(得分:1)
看起来很丑陋。对所有子句使用<c:if>
。使用scriptlet会导致这些错误 - 未封闭的括号,被遗忘的分号等等。
答案 1 :(得分:0)
除非在非常紧急的情况下,否则不应使用任何scriptlet。
您可以使用以下<%=currentBackground%>
代替:
然后正确使用Expression Language和$ {currentBackground}来获取你的对象。