JSTL的常用C标签
1)c:out 单值输出
语法:
<c:out value="" />
<c:out value=""></c:out>
举例:
//1 最常用
<c:out value="${info}" />
//2 设置默认值
<c:out value="${info}" defalut="information" />
//3 设置在标签主体中
<c:out value="${info}">information</c:out>
//4 一个项目中的例子
<input type="text" name="sortName" value="<c:out value='${assessProKindVO.sortName }'/>">
//5 输出一个VO实体(如果查询的结果只有一个VO实体时使用c:out就可以了 不用使用c:foreach)
//下面的例子就是输出一个VO全部的属性信息
<tr>
<td><input type="radio" name="UUID" value="<c:out value='${assessQuotaVO.uuid}'/>"></td>
<td><c:out value="${rowStatus.count}" /></td>
<td><c:out value="${assessQuotaVO.quotaName}" /></td>
<td><c:out value="${assessQuotaVO.quotaContent}" /></td>
<td><c:out value="${assessQuotaVO.score}" /></td>
<td><c:out value="${assessQuotaVO.factor}" /></td>
</tr>
2) c:if 条件判断
语法:
<c:if test="判断条件">
满足条件时执行的语句
</c:if>
举例:
<select name="status">
<option value="1" <c:if test="${assessProKindVO.status == '1' }">selected</c:if>>启用</option>
<option value="0" <c:if test="${assessProKindVO.status == '0' }">selected</c:if>>未启用</option>
</select>
3)c:choose 多条件判断
语法:
<c:choose>
标签体内容(<c:when> <c:otherwise>)
</c:choose>
<c:when test="判断条件">
满足条件时执行的语句
</c:when>
<c:otherwise>
当所有的<c:when>条件都不满足时,执行的语句
</c:otherwise>
举例:
<c:choose>
<c:when test="${assessProKindVO.status == '0'}">未启用</c:when>
<c:when test="${assessProKindVO.status == '1'}">启用</c:when>
</c:choose>
4)c:forEach 输出数组、集合[List、Set、Map]
语法:
<c:forEach items="从Action获取的集合" var="集合中一个元素的名称" varStatus="保存相关成员信息">
标签体
</c:forEach>
举例:
//1 输出附件列表
<select id="attachs" name="attachs" ondblclick="downloadAttachment()" >
<c:forEach items="${attachList}" var="attachVO" varStatus="rowStatus">
<option value="<c:out value='${attachVO.uuid }'/>"><c:out value='${attachVO.attachname }'/></option>
</c:forEach>
</select>
//2 设置年份值
<SELECT name="assessYear" style="80%">
<c:forEach var="i" begin="2000" end="2020" step="1">
<OPTION value="<c:out value='${i}'/>" <c:if test="${assessYear == i }">selected</c:if>><c:out value='${i}'/></OPTION>
</c:forEach>
</SELECT>
//3 分别对应了选择/序号/项目名称/考核标准/分值/加分因素 输出VO集合
<c:forEach items="${list}" var="assessQuotaVO" varStatus="rowStatus">
<tr>
<td><input type="radio" name="UUID" value="<c:out value='${assessQuotaVO.uuid}'/>"></td>
<td><c:out value="${rowStatus.count}" /></td>
<td><c:out value="${assessQuotaVO.quotaName}" /></td>
<td><c:out value="${assessQuotaVO.quotaContent}" /></td>
<td><c:out value="${assessQuotaVO.score}" /></td>
<td><c:out value="${assessQuotaVO.factor}" /></td>
</tr>
</c:forEach>
5)c:url 根据路径/参数生成新的URL
语法:
<c:url value="资源相对路径">
<c:param name="paramName" value="paramValue">
</c:url>
举例:
//1 寻找资源文件
<div>
<img style="CURSOR: hand" src="<c:url value='/images/save2.gif'/>" onclick="_addProKind()">
<img style="CURSOR: hand" src="<c:url value='/images/return.gif'/>" onclick="window.history.back();">
</div>
//2 引入CSS/JS
<link href="<c:url value='/include/style2.css'/>" type="text/css" rel="stylesheet">
<script language="javascript" type="text/javascript" src="<c:url value='/include/verify/formVerify.js'/>"></script>
//3 设置跳转页面
document.form1.action = "<c:url value='/servlet/AssessTargetAction'/>";
window.location = "<c:url value='/pages/assess/assessProKindManage.jsp'/>";
window.location = "<c:url value='/servlet/AssessTargetAction?oper=findProKindByUUID&uuid='/>"+_uuid;
window.open("<c:url value='/servlet/AssessDeptPublishAction?oper=initPublish&orguuid='/>"+_orguuid, "publish", 'width=550,height=400,resizable=no,status=no,Toolbar=no');