核心标签库
引用:

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

它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量、重复使用一组项目、测试条件和其他操作(如导入和重定向Web内容)。Core标签按功能可分为4种类型:

1 变量维护:

(1)<c:set>:设置变量值和对象属性。语法如下:

<c:set value="值" var="变量名" scope="变量的作用域" target="对象名" property=" 对象属性名"></c:set>

每种设置都有两种方式,总结起来,<c:set>的4种形式,如下所示:

a. 使用标记属性设置JSP变量

<c:set value="值" var="变量名" scope="作用域"/>

b. 使用标记体设置JSP变量

<c:set var="变量名" scope="作用域">标记内容</c:set>

c. 使用标记属性设置对象属性

<c:set value="变量名" target="对象名" property="对象属性名"/>

d. 使用标记体设置对象属性

<c:set target="对象名" property="作用域">标记内容</set>

(2)<c:remove>:在指定作用域范围内删除变量。语法如下:

<c:remove var="变量名" scope="作用域"/>

2 流程控制:分为条件标签和迭代标签。

条件标签:<c:if> <c:choose> <c:when> <c:otherwise>

(1)<c:if>:与Java语言中的if语句的使用方法一样,但不能实现else的功能。

<c:if>标签有两种语法形式,是以有无标记体来区分的。

无标签体:

<c:if test="测试条件" var="变量名" [scope="作用域"]/>

有标签体:

<c:if test="测试条件" var="变量名" [scope="作用域"]>

标签体

</c:if>

带标记体的<c:if>

<c:if test="${user.visitCount!=0}">欢迎光临</c:if>

(2)<c:choose> <c:when> <c:otherwise>

<c:when> <c:otherwise>无法单独使用,只能作为<c:choose>的子标签来使用。这三个标签组合起来实现Java中的switch语句的功能。语法如下:

<c:choose>

<c:when test="${user.class==’guest’}">

标签体1

</c:when>

<c:when test="${user.class==’vip’}">

标签体2

</c:when>

<c:otherwise>

标签体3

</c:otherwise>

</c:choose>

迭代标签:<c:forEach> <c:forTokens>

(1)<c:forEach>:用于遍历一个对象集合。

<c:forEach var="变量名" items="集合" varStatus="遍历状态名"

begin="begin" end="end" step="step" >

标签体

</c:forEach>

(2)<c:forTokens>:用于遍历字符串,而且每次遍历结果返回字符串中的一个单词。

<c:forTokens items="字符串" delims="分界符" var="变量名"

varStatus="遍历状态名" begin="begin" end="end" step="sep">

标签体

</c:forTokens>

3 URL管理

(1)<c:url>:用于对URL地址进行编码。

有标签体:

<c:url value="URL" context="路径" var="变量名" scope="作用域">

标签体

</c:url>

如下代码:

<c:url value="http://localhost:8080/el/index.jsp" var="NewURL">

<c:param name="name" value="zero"/>

<c:param name="age" value="28"/>

</c:url>

<a href="${NewURL}">点我呀</a>

生成的URL:http://localhost:8080/el/index.jsp?name=zero&age=28

无标签体:主要用于编辑上下文URL。

<c:url value="URL" context="路径" var="变量名" scope="作用域"/>

如下代码:

<c:url value="/logon.jsp">登录</c:url>

若当前路径为el,则输出为:/el/logon.jsp

(2)<c:import>:向当前JSP页面中引入URL资源(可以是远程序站点上的资源)。Include指令和include动作不能向JSP页引入Web程序以外的资源,引入的资源必须位于当前Web程序中。

以String对象引入的语法:

<c:import url="地址" context="上下文路径" var="变量名"

scope="作用域" charEncoding="字符集">

标签体使用<c:param>

</c:import>

如下代码:将外部资源引入到当前JSP页面中.

<c:import url="http://www.hao123.com" var="myurl" charEncoding="gb2312">

</c:import>

<a href="${myurl }">地址</a>

以Reader对象导入的语法:

<c:import url="地址" context="上下文路径" varReader="变量名"

scope="作用域" charEncoding="字符集">

标签体使用其它动作元素

</c:import>

(3)<c:redirect>:用于HTTP重定向。

无标签体:

<c:redirect url="地址" context="上下文路径"/>

有标签体:

<c:redirect url="地址" context="上下文路径">
       <c:param/>标签
</c:redirect>

(4)<c:param>:只能嵌入到<c:url>、、<c:import>、<c:redirect>标签中作为子元素来使用。此标签主要用于设置URL中将要传入的参数。

无标签体:

<c:param name="名称" value="值"/ >

有标签体:

<c:param name="名称" value="值" >
    标签体
</c:param>

4 其它标签:<c:out>、<c:catch>。

(1)<c:out>:在JSP页面中显示变量内容。

无标签体:

<c:out value="值" escapeXml="{true|false}" default="默认值"/>

有标签体:

<c:out value="值" escapeXml="{true|false}" default="默认值">
    标签体
</c:out>

其中:

default: 用于指定当value值为null时,应该输出的值。

escapeXml: 用于设置是否将"<"、">"、"&"、"’"、"""、这些字符进行转义。

escapeXml默认为true,表示发生转换。

"<"转换成"&lt"

">"转换成"&gt"

"&"转换成"&amp"

"’"转换成"&#039"

"""转换成"&#034"

(2)<c:catch>:用于处理JSP页面错误。

如果JSP页面出错,可以通过对page指令属性的设置将其转到错误处理页面上。<c:catch>标签是对这种错误处理的补充。它的处理方式是将可能发生异常的JSP代码片段嵌入到标记体内,然后使用var属性心不烦接收标记体抛出的异常。

<c:catch var="变量名">
      嵌套动作
</c:catch>

使用方法:

<c:catch var="myexception">
      嵌套动作
</c:catch>

<c:if test="${myexception!=null}">
    内容
</c:if>

jsp中的c标签的更多相关文章

  1. javaWeb 在jsp中 使用自定义标签输出访问者IP

    1.java类,使用简单标签,jsp2.0规范, 继承 SimpleTagSupport public class ViewIpSimpleTag extends SimpleTagSupport { ...

  2. 自定义JSP中的Taglib标签之四自定义标签中的Function函数

    转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于 ...

  3. jsp中的动作标签

    和html标签一样,使用尖括号'<>'包裹起来. 用于在jsp页面中处理业务逻辑,避免在jsp中过多的使用java脚本. <jsp:forward>用于请求转发,它与Reque ...

  4. jsp中常用的标签

    jsp本质上就是一个servlet,只是tomcat会将其翻译成servlet,servlet本质上是一个类,那么jsp也是一个类.jsp中各种标签都会被tomcat翻译成各种基本的java代码 如果 ...

  5. JSP中利用JSTL标签对日期格式化

    数据库:Mysql 开发语言:JAVA 页面类型:JSP 对Mysql中的日期类型格式化,在JSP中,如何办呢,很多人说在JAVA后台去日期格式化,无奈了,于是找到了比较靠谱的答案 需要先引入JSTL ...

  6. Liferay JSP中常用的标签

    (本文转载自http://www.cnblogs.com/edwardlauxh/archive/2010/03/26/1918614.html) 在Liferay框架中拥有它自身的标签,虽然Port ...

  7. JSP 中 JSTL 页面标签的笔记

    jsp头部引入使用的标签 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&g ...

  8. 1. jsp中<base target='' />标签用法

    用于页面跳转后,页面最后跳转到哪个iframe.例子如下: index.jsp :首页 <head> <base href="<%=basePath %>&qu ...

  9. ssh三大框架集成后,jsp中采用forword标签提交时会报错的解决方案

    最近这两天心烦,所以没事就做做三大框架,对于今天遇到了一个烦心的事!或许有很多开发人员对于web.xml拦截器的认识不清,出现了这样的情况 <filter> <filter-name ...

随机推荐

  1. 工作总结:qsort函数用法

    qsort(&g_AMTBuf[g_dwAMTLenth], m_nCount, sizeof(12), Compare); 参数说明: 1.待排序数组首地址: 2.数组中待排序元素数量: 3 ...

  2. ubuntu wubi安装注意事项

    从这个镜像下载 http://mirrors.163.com/ubuntu-releases/12.10/ ubuntu-12.10-desktop-amd64.iso 和 wubi.exe然后放到同 ...

  3. [BZOJ 1070] [SCOI2007] 修车 【费用流】

    题目链接:BZOJ - 1070 题目分析 首先想到拆点,把每个技术人员拆成 n 个点,从某个技术人员拆出的第 i 个点,向某辆车连边,表示这是这个技术人员修的倒数第 i 辆车.那么这一次修车对整个答 ...

  4. Left Mouse Button

    FZU:http://acm.fzu.edu.cn/problem.php?pid=1920 题意:叫你玩扫雷游戏,已经告诉你地雷的位置了,问你最少点几次鼠标左键可以赢这盘扫雷 题解:直接DFS,(注 ...

  5. If one session has a shared or exclusive lock on record R in an index, another session cannot insert

    If one session has a shared or exclusive lock on record R in an index, another session cannot insert ...

  6. Unity 动态载入Panel并实现淡入淡出

    unity版本:4.5 NGUI版本:3.6.5 参考链接:http://tieba.baidu.com/p/3206366700,作者:百度贴吧 水岸上 动态载入NGUI控件,这里用Panel为例说 ...

  7. bluetooth记录

    1. 网址 Client Characteristic Configuration https://developer.bluetooth.org/gatt/descriptors/Pages/Des ...

  8. 检测CPU是否支持虚拟化

    一:下载检测软件 地址:http://files.cnblogs.com/hongmaju/Coreinfo.rar 二:使用方法 打开运行窗口,找到Coreinfo.exe,运行如下: 现在你要做的 ...

  9. Break、continue、return用法(C++)

    (1)break 直接调出当前循环体.如果是嵌套循环,他只能调出一层循环体. Exp-1: 程序: #include<iostream> using namespace std; int ...

  10. 使用python进行接口测试

    最近在做接口测试,之前公司的方案是使用postman进行接口测试.但是伟大的墙导致我们只能用离线版postman..然后一个很长很长的接口列表,一个接一个的访问.我的天哪..所以萌生了一个想法,使用p ...