<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<td colspan="1" width="100">
<c:choose>
<c:when>
<c:choose>
<c:when></c:when><c:otherwise>
<c:when test="<%=\"F\".equals(result[1]) %>">
<c:set var="checked"><%=result[0].equals("Y")%></c:set>
<input type="checkbox" id="<%="ABC"+"$"+rows%>" name="<%="ABC"+"$"+rows%>" value="<%=String.valueOf(rows)%>" ${checked ? 'checked' : ''} onclick="someFunction(this)"/>
</c:when></c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
出于某种原因,JSP 编译器抱怨嵌套输入 type="checkbox" 的没有结束标记<c:when>
...我可以知道我做错了什么吗?我尝试使用<c:if>
它也不起作用,编译器也抱怨没有结束标签。
编辑:如果我没有像下面那样嵌套输入类型和 set var,那么它可以工作......但它无法完成我原来的逻辑..
<c:otherwise>
<c:when test="<%=\"F\".equals(result[1]) %>">
</c:when>
<c:set var="checked"><%=result[0].equals("Y")%></c:set>
<input type="checkbox" id="<%="ABC"+"$"+rows%>" name="<%="ABC"+"$"+rows%>" value="<%=String.valueOf(rows)%>" ${checked ? 'checked' : ''} onclick="someFunction(this)"/>
</c:otherwise>
编辑 2:我必须以这种方式编写 jsp 代码,以免我的建筑师死亡之痛,哈哈。任何建议都会很乐意接受以保留我提出的逻辑。