以下是日常开发中jsp经常使用的标签
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
1.<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>是c标签
2.<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>是日期格式化
3.<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>是获得集合数据的长度
案例:
c标签c:foreach循环list数据(后台直接返回list数据即可)如:
// 根据商品ID查询单个的商品对象
GoodsMoifiedVo goodsMoifiedVo = this.goodsService.queryModeifiedVoByGoodsId(goodsId);
//设置商品信息
mav.addObject("goodsMoifiedVo", goodsMoifiedVo);
select选中
<div class="add_good_item_cont">
<span class="label_text"><span class="text-danger">*</span>商品品牌:</span>
<div class="add_good_form">
<div class="w500">
<div class="input-group">
<select class="form-control inline required" data-live-search="true" name="brandId" id="goods_brand">
<c:forEach items="${brandList }" var="brand">
<option value="${brand.brandId }" <c:if test="${goodsMoifiedVo.goodsBrand.brandId==brand.brandId}">selected="selected" </c:if>>${brand.brandName }</option>
</c:forEach>
</select>
</div>
</div>
</div>
</div>
checkbox选中
<div class="add_good_item_cont">
<span class="label_text">商品标签:</span>
<div class="add_good_form">
<div class="w500 inline_block">
<c:forEach items="${tagList }" var="tag">
<label class="checkbox-inline">
<input type="checkbox" name="update_goods_tags" style="margin-top:3px;" class="goods_tag" value="${tag.tagId }"
<c:forEach items="${goodsMoifiedVo.tags }" var="goodsTag">
<c:if test="${tag.tagId==goodsTag.goodsTag.tagId}">checked</c:if>
</c:forEach>
>${tag.tagName }
</label>
</c:forEach>
</div>
</div>
</div>
c标签获得list数据长度:products是后台返回的list数据名称如:
//根据商品id查询货品信息
List<GoodsProductVo> products = this.goodsProductService.queryProductListByGoodsId(goodsId);
//设置货品信息
mav.addObject("products", products);
<!-- 货品个数 -->
<input type="hidden" id="productSize" value="${fn:length(products)}"/>
c标签c:if判断
<div class="form-group">
<div class="input-group">
<span class="input-group-addon">默认店铺</span>
<select class="form-control" name="isDefaultStore">
<option value="" <c:if test="${empty pageBean.objectBean.isDefaultStore }">selected="selected"</c:if> >请选择</option>
<option value="1" <c:if test="${not empty pageBean.objectBean.isDefaultStore && pageBean.objectBean.isDefaultStore=='1' }">selected="selected"</c:if> >是</option>
<option value="0" <c:if test="${not empty pageBean.objectBean.isDefaultStore && pageBean.objectBean.isDefaultStore=='0' }">selected="selected"</c:if> >否</option>
</select>
</div>
</div>
<c:forEach items="${helpCates}" var="helpcate" varStatus="status">
<c:if test="${status.index>=0 && status.index<5}">
<dl class="svc_box svc_01 pull-left" style="background-image:none;width:210px;">
<dt>${helpcate.helpcateName}</dt>
<dd>
<c:forEach items="${helpcate.helpCenters}" var="helpcenter" varStatus="sta">
<c:if test="${sta.index>=0 && sta.index<6 }">
<c:if test="${helpcenter.isFoot=='1' }">
<div>
<a href="javascript:;" target="_blank">${helpcenter.helpTitle}</a></div>
</c:if>
</c:if>
</c:forEach>
</dd>
</dl>
</c:if>
</c:forEach>
注意以上:
items:表示要遍历集合的名称,如后台返回的是mav.addOjbect("helpCates",getHelpCateList())
var:给遍历集合取个变量名称任意(见名知义)
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息,常用的属性为:current,index,count。
current:当前这次迭代的(集合中的)项。
index:当前这次迭代从0开始的迭代索引。
count:当前这次迭代从1开始的迭代计数
案例:以下如何显示数据序号,用法:
<c:forEach items="${pageBean.data }" var="ossConf" varStatus="status">
<tr class=" <c:if test="${ossConf.ossStatus eq 0 }">disabled</c:if> ">
<td>
${status.count}
</td>
empty,not empty判断某个元素值是否为空