也谈jstl

    前两天要写个简单的页面,中间要用到jstl标签,遇到了很多问题。今天抽时间上网查了查资料,把这些问题解决一下。
java中代码如下:
   
    put("vo", virtualHostVO);
    put("listTheme", listTheme);
    put("newGoodsCode",newGoodsCode);


1.使用JSTL标签来访问list并判断list中的选中项
    jsp中访问:
 <select name="newGoodsCode" onChange="getTheme1();">
 <c:forEach var="upgradeProduct" items="${vo.upgradeList}">
    <option   value="${upgradeProduct.goodsCode}"
      <c:if test="${newGoodsCode==upgradeProduct.goodsCode}">selected</c:if>>
${upgradeProduct.goodsName} </option>
      </c:forEach>
                          
  </select>

简单说明一下:
a.vo的升级线是一个list的产品,将list中的产品遍历在option中。
b. <c:if test="${newGoodsCode==upgradeProduct.goodsCode}">selected</c:if>判断选中的是哪一个升级线上的产品。
2.获取集合的长度:
 
<tr>
<c:forEach var="themeVO" items="${listTheme}"  varStatus="j" begin="0" end="${fn:length(listTheme)}" >
<c:if test="${j.count%4!=0}">
 <td>
<img src="${ctx}/Modules/vzzjz/images/${themeVO.type}/${themeVO.nameEn}/images/theme_view.jpg" width="97" height="113" border="0" alt="${themeVO.nameCh}" />
<br>
<input type = "radio" name = "themeEn" value= "${themeVO.nameEn}"/>${themeVO.nameCh}
</td>
</c:if>
<c:if test="${j.count%4==0}">
<td>
<img 
src="${ctx}/Modules/vzzjz/images/${themeVO.type}/${themeVO.nameEn}/images/theme_view.jpg" width="97" height="113" border="0" alt="${themeVO.nameCh}" /><br><input type = "radio" name = "themeEn" value= "${themeVO.nameEn}"/>${themeVO.nameCh}
</td>
</tr>
</c:if>
</c:forEach>
<c:if test="${fn:length(listTheme)%4!=0}">
</tr>
</c:if>

说明:
a.每行显示四条记录:
b.${fn:length(listTheme)}取得集合listTheme的长度
c.<c:forEach var="themeVO" items="${listTheme}"  varStatus="j" begin="0" end="${fn:length(listTheme)}" >
遍历集合listTheme,用j来代表当前遍历的个数,用j.count取得数值。
3.格式化日期型的数据:
<fmt:formatDate value="${vo.serviceStartDate}" pattern="yyyy-MM-dd"/>

4.list中是map对象,遍历list
<c:forEach items="${testList}" var="testMap" varStatus="status"> 
<td>11111</td> 
<c:forEach var="mapItem" items="${testMap}">  
<c:if test="${mapItem.key =='name'}"> 
     <td>name:<c:out value="${mapItem.value}"/></td> 
</c:if> 
<c:if test="${mapItem.key =='age'}">     
     <td>age:<c:out value="${mapItem.value}"/></td> 
</c:if> 
</c:forEach> 
<td align="right"><c:out value="${liuTest}"/></td> 
</tr> 
</c:forEach> 


5.以上都是实用中的一些问题,具体的一些基础的说明见下面文档。

你可能感兴趣的:(java,C++,c,jsp,J#)