<%! int i=0; %> <!-- 定义一个变量 -->
<c:forEach var="info" items="${fontend}"> <!-- 相当于for循环-->
<% i++; %> <!-- 循环自增 -->
<div>
<c:if test="${info.videocourse=='c语言'}" var="flag" scope="session">
<div style="widht:100%;height:50px">
<c:if test="<%=i==1 %>"> <!-- 根据条件判断,如果等于一,显示结果 -->
c语言<br>
</c:if>
<%c=-1; %> <!-- 令循环后的值重新回-1 刷新后,值会改变,这样就能永远保持判断 -->
</c:if>
</c:forEach>
上面使用<%%>来进行赋值取值,刷新页面后,值会改变
但是用以下方法,刷新后值,不变,就可以用于判断了
<!-- 赋值做判断-->
<% request.setAttribute("title", "标题");%>
<center>
<c:forEach var="info" items="${frontend}">
<!-- HTML语言回播视频显示 -->
<c:if test="${info.videocourse=='HTML'}" var="flag" scope="session">
<c:if test="${title=='标题'}"> <!-- 根据条件判断,如果等于一,显示结果 -->
<div style="width:100%;height:auto;background-color:red;float:right;">
HTML
</div>
<% request.setAttribute("title", "标题1");%>
</c:if>
以下代码省略
原因:
<%= %>只能得到当前面定义的值,即你在这个页里有<% int a=100%>,你在下面才可以使用<%=a%>。
${ }这个是el表达式,可以从上下文中得到值
不过还有一个问题是:数据库取值时是按顺序取值的,这样设置后,如果数据库不是按顺序排序的,取出的值就有出路了
用了一个很恶心的解决方法,一个分类一个foreach循环,用了好几个foreach 不知网友有没有更好的解决办法,有可以分享下,谢过