您的位置:首页 > Web前端 > JavaScript

【JSTL】core标签---表达式控制

2017-01-20 10:13 295 查看
       JSTL核心标签库(C标签)标签共有13个,功能上分为4类:

1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect



【应用】
      使用核心标签前,要先引用核心标签库的语法如下:

<%@ taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core" %>


【<c:out>】
语法格式:



属性:



       out标签主要用于显示数据,需要注意的是c:out标签有两个属性,一个是default,一个是escapeXml。如下:
1.default:如果没有要取得值,就显示default的内容。以下两种写法效果一样。

使用缺省值:<c:outvalue="${hello123}" default="没有值"/><br>
使用缺省值:<c:outvalue="${hello123}">没有值</c:out><br>




2.escapeXml:默认为true,则会将字符串原封不动的显示,若为false,则会将<>中的内容进行编译。如下:

//HTML字符串
request.setAttribute("welcome","<font color='red'>欢迎你来到这个世界!</font>");
<br>使用EL表达式:${welcome }
<br>使用标签,escapeXml=true:
<c:outvalue="${welcome }" escapeXml="true" />
<br>使用标签,escapeXml=false:
<c:outvalue="${welcome }" escapeXml="false" />



 

【<c:set>】
语法格式:



属性:



set标签相当于声明一个变量,可以在声明的时候指定作用域。
这主要取决于scope属性。
【<c:remove>】
语法格式:



属性:



 
而c:remove标签则是与c:set相反,恰恰是清除该变量。

<li>测试c:set,c:remove标签</li>
<br>
<c:setvalue="root" var="userid" />

userid:
<c:outvalue="${userid }">没有值</c:out>
<br>
<c:removevar="userid" />

userid:
<c:outvalue="${userid }">没有值</c:out>
<br>




【c:catch】
语法格式:



属性:



<li>c:catch标签</li><br>
<%
try {
Integer.parseInt("asdfsdf");
}catch(NumberFormatException e) {
e.printStackTrace();
out.println(e.getMessage());
}
%>
<p>
<c:catch var="msg">
<%
Integer.parseInt("asdfsdf");
%>
</c:catch>
${msg }<br>
<p>


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: