<c:forEach items="${categoryList }" var="c">
<option value="${c.cid }" <c:if test="${c.cid eq book.category.cid}" >selected="selected" </c:if>>${c.cname }</option>
</c:forEach>中 value="${c.cid }"中的value包含了categoryList中的所有cid吗,<c:if test="${c.cid eq book.category.cid}" >selected="selected" </c:if>这句到底是什么意思呢,谢谢了!
<c:foreach 是java中的for循环 , items 是其中循环的list var 代表可以理解为list中的一个对象 <c:if 就是条件判断 当里面的test条件为真时 就执行 相当于java中的if else
如果 c.cid == book.category.cid
c代表categoryList中的一项
条件标签 用于回显 如上所说当 c.cid == book.category.cid id相等表示select 标签的Option项选中,selected="selected" 是指 Option项的selected属性是 selected 即选中 你可以在html中尝试使用一下这个属性就明白了
遍历到的categoryList 项和当前book的分类一样就增加selected属性,这样select就会显示此项目选中,而不是默认的第一项
当c.cid和book.category.cid相等时,就选中
怎么老师报错啊,那位大神帮助一下!@