日期:2014-05-16 浏览次数:20337 次
el可以自动转变类型:
例:${param.count+20}
?
特殊运算符 empty 判断是否为空:${empty param.name}?
?
?
?
?
?
转载(来源网络):
*************? <c:out >? ********************************
用于向页面输出内容.
<c:out value="" default="" escapeXml="">
其中value属性是必须的.其value的值可以是字符串,也可以是el表达式.
escapeXml只能是true或false.默认是true,代表将值中的以下字符:<,>,',",&在结果串中转换成字符实体代码.
例:
<c:out value="${requestScope.te}" default="${requestScope.test}"/>
<c:out value="<hr>" escapeXml="false"/>
==== <c:set> ==========
用于在某个范围中设置某个值,或者设置某个对象的属性.
例1:
<c:set var="sessionTest" scope="session" value="sessionValue"/>
相当于脚本:session.setAttribute("sessionTest","sessionValue");
或<c:set var="sessionTest2" scope="session"><%=1+2%></c:set>
例2:
向session的范围内放置一个cart.bean.Product类型的JavaBean,id为p,然后使用<c:set>标签设置它的name属性的值,然后在另一个页面使用<c:out>将其输出.
<jsp:useBean id="p" class="cart.bean.Product" scope="session"/>
注意:cart.bean.Product类必须提供空的构造函数.否则会报java.lang.InstantiationException异常.
.........
<c:set target="${sessionScope.p}" property="name">
pen
</c:set>
另一个页面中输出:
<c:out value="${sessionScope.p.name}"/>
==========================================
为某个bean的属性赋值,除了用<c:set>还可以使用<jsp:setProperty>
如:<jsp:setProperty name="p" property="*"/>
或:<jsp:setProperty name="p" property="name"/>
或:<jsp:setProperty name="p" property="name" param="name"/>
或:<jsp:setProperty name="p" property="name" value="qiuqj"/>
*************** <c:if>? ********************
用于进行条件判断,如果它的Test属性为true,就计算它的Body.
例:
<c:if test="${2>1}">
?? 2 is greater than 1.
</c:if>
*************? <c:choose> ****************
用于条件选择,它和<c:when>以及<c:otherwise>一起使用.
此标签的内容只能由以下元素构成:
?1. 空格
? 2. 0个或多个<when>标签,<when>标签必须在<otherwise>标签之前出现
?3. 0个或多个<otherwise>标签。
<when>和<otherwise>标签的限制:
1. 这两个标签必须以<c:choose>作为父标签
2. <otherwise>标签必须作为<c:choose>的最后分支出现
<c:choose>
? <c:when test="${number<=10 && number>=1}">
????? 1<=number<=10
? </c:when>
? <c:when test="${number<=20 && number>=11}">
????? 11<=number<=20
? </c:when>
? <c:otherwise>
????? number >20 or number<1
? </c:otherwise>
</c:choose>
等同于:
if(number>=1 && number<=10)
{
??? 输出1<=number<=10
}
else if(number>=11 && number<= 20)
{
??? 输出11<=number<=20?
}
else{
??? 输出number >20 or number<1?
}
********** <c:forEach> ***********************
例1.
<c:forEach var="product" items="${p}">
?${product.name}
</c:forEach>
例2.
<c:forEach var="i" begin="1" end="10" step="2">
? ${i}
</c:forEach>
注:begin从0开始
例3. 遍历Map
<c:forEach var="prop" items="${numberMap}" begin="1" end="5">
? <c:out value="${prop.key}"/> = <c:out value="${prop.value}"/><br>
</c:forEach>
例4:查看状态
<table border="1">
<c:forEach var="product" items="${p}" varStatus="status">
??? <tr>
????? <td><c:out value="${status.index}"/></td><!--迭代的索引-->
????? <td><c:out value="${status.count}"/></td><!--已经迭代的数量-->
????? <td><c:out value="${status.current.value.name}"/></td>
????? <td><c:out value="${status.first}"/></td>
????? <td><c:out value="${status.last}"/></td>
??? </tr>?
? </c:forEach>
</table>
?
=======?? Bean标签库? ==========================
? message -- 显示一个资源文件当中的某个key值
例如:<