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

       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>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。在 developerworks 上其新系列的第一篇文章中,软件工程师 Mark Kolb 向您展示了如何使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素。您还将了解如何通过从表示层删除源代码来简化软件维护。最后,您将了解 JSTL 经过简化的表达式语言,它允许在不必使用功能齐全的编程语言的情况下对 JSTL 操作指定动态属性值。 JavaServer Pages(JSP)是用于 J2EE 平台的标准表示层技术。JSP 技术提供了用于执行计算(这些计算用来动态地生成页面内容)的脚本编制元素和操作。脚本编制元素允许在 JSP 页面中包括程序源代码,在为响应用户请求而呈现页面时可以执行这些源代码。操作将计算操作封装到很象 HTML 或 XML 标记的标记中,JSP 页面的模板文本通常包含这些标记。JSP 规范只将几种操作定义成了标准,但从 JSP 1.1 开始,开发人员已经能够以定制标记库的方式创建其自己的操作了。 JSP 标准标记库(JSTL)是 JSP 1.2 定制标记库集,这些标记库实现大量服务器端 Java 应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL 使 JSP 作者可以专注于特定于应用程序的开发需求,而不是为这些通用操作“另起炉灶”。 当然,您可以使用 JSP 脚本编制元素(scriptlet、表达式和声明)来实现此类任务。例如,可以使用三个 scriptlet 实现条件内容,清单 1 中着重显示了这三个 scriptlet。但是,因为脚本编制元素依赖于在页面中嵌入程序源代码(通常是 Java 代码),所以对于使用这些脚本编制元素的 JSP 页面,其软件维护任务的复杂度大大增加了。例如,清单 1 中的 scriptlet 示例严格地依赖于花括号的正确匹配。如果不经意间引入了一个语法错误,则条件内容中的嵌套其它 scriptlet 可能会造成严重破坏,并且在 JSP 容器编译该页面时,要使所产生的错误信息有意义可能会很困难。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值