JSTL核心标签(14个)

  • 简介
  • 1、c:if标签
  • 2、c:choose、c:when、c:otherwise
  • 3、c:set标签和c:out标签
  • 4、c:foreach 标签
    • 修改日期格式
  • 5、其他标签(7个)
    • c:for Tokens
    • c:import
    • c:remove
    • c:catch
    • c:redirect
    • c:url
    • c:param

简介

(JavaServer Pages Standard Tag Library)

jstl+el 替代jsp页面中的java代码。提高程序可读性、维护性、方便性。

使用jstl
1、需要把jstl的jar包导入到我们的工程中。myeclipse自带了。当创建一个web工程的是,工程中就已经保护jstl的jar包;
2、如果一个页面需要使用jstl标签----书写jsp的页面。
在页面顶部书写
prefix 表示的是 标签的简称。
<%–在导入uri的过程,uri需要带有jsp的那个路径。 --%>

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

JSTL核心标签库中core库中提供了14个标签。可以在JSP页面上完成循环,判断,switch结构等内容。

1、c:if标签

<jsp:useBean id="user" class="com.hisoft.javabean.User" scope="page"/>
<jsp:setProperty name="user" property="username" value="张三"/><c:if test="${not empty user}">${user.username}
</c:if>
<%int a = 10;pageContext.setAttribute("a",a);
%><c:if test="${a gt 10}" var="b">a大于10
</c:if><c:if test="${a eq 10}" var="b">a等于10
</c:if><c:if test="${a lt 10}" var="b">a小于10
</c:if>

2、c:choose、c:when、c:otherwise

<c:choose>标签用于指定多个条件选择的组合边界,它必须与<c:when>和<c:otherwise>标签一起使用。使用<c:choose>,<c:when>和<c:otherwise>三个标签,可以构造类似 “if-else if-else” 的复杂条件判断结构。

它可以理解成switch结构。
c:choose  相当于switch
c:when  相当于 case
c:otherwise 相当于 default
<%int role = 3;pageContext.setAttribute("role",role);
%><c:choose><c:when test="${role eq 1}">教师</c:when><c:when test="${role eq 2}">学生</c:when><c:when test="${role eq 3}">monitor</c:when><c:otherwise>其他</c:otherwise>
</c:choose>

3、c:set标签和c:out标签

c:set它可以给某个范围中保存(修改)数据,或者还可以去修改某个对象的属性值。相当于代替了pageContext.setAttribute。
c:out 它可以把数据输出到页面上,相当于JSP的内置对象out
输出内容。
c:set代码:

<c:set value="千玺" var="name" scope="request"></c:set>
${requestScope.name}<%--相当于User user = request.getAttribute("user");user.setUsername("周雨彤");request.setAttribute("user",user);
--%>
<jsp:useBean id="user" class="com.hisoft.javabean.User" scope="page"/>
<c:set target="${user}" property="username" value="周雨彤"></c:set>
${user.username}

c:out代码:


<%request.setAttribute("a", "<a href=\"http://www.baidu.com\">百度</a>");
%>
<c:out value="${requestScope.name}" default="张艺兴"></c:out> <br>
百度:<c:out value="${a}" escapeXml="true"></c:out> <br>
百度:<c:out value="${a}" escapeXml="false"></c:out>
百度:${a}

结果:

张艺兴
百度:<a href=“http://www.baidu.com”>百度
百度:百度
百度:百度

4、c:foreach 标签

c:forEach 循环的标签, 替代 for();

遍历list集合:

<%List<User> users = new ArrayList<>();users.add(new User(12, "张三", "123", new Date()));users.add(new User(23, "李四", "345", new Date()));users.add(new User(34, "王五", "567", new Date()));users.add(new User(45, "赵六", "789", new Date()));pageContext.setAttribute("users", users);
%>遍历List集合:
<c:forEach items="${users}" var="user" varStatus="v"><div<%--隔行跳色--%><c:if test="${v.index % 2 eq 0}">style="background-color: aqua"</c:if>>${v.index+1}${user.id}${user.username}${user.password}${user.birthday}</div></c:forEach>

遍历1-10:

<c:forEach var="i" begin="1" end="10">${i}
</c:forEach>

修改日期格式

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><fmt:formatDate value="${user.birthday}" pattern="yyyy-MM-dd HH:mm:ss"></fmt:formatDate>

5、其他标签(7个)

c:for Tokens

<c:forTokens 它指的是把 itmes中提供的字符串,使用delims提供的分隔符进行分割

可以做到字符串的分割。
假设”a,b,c,d” 可以使用,进行字符串的分割 a b c d

pageContext.setAttribute("behavior","read,sit down,stand up,run,listen,sing,dance");<c:forTokens items="${behavior}" delims="," var="behave">${behave} <br>
</c:forTokens>

c:import

<c:import url=""></c:import>可以在当当前页面引入其他的页面

<c:import url="success.jsp"></c:import>

c:remove

<c:remove var=""/> 删除某个域中的数据

<jsp:setProperty name="user" property="username" value="张三"/>username:${user.username}
<c:remove var="user" scope="page"></c:remove>
username:${user.username}

c:catch

<c:catch var=”ex”></c:catch> 捕获异常的 —当页面某些位置可能出现异常的时候,可以使用c:catch.不会报错500。

c:redirect

<c:redirect context="/demo" url="/day13"></c:redirect> 完成重定向的

<c:redirect context="/jsp1" url="/success.jsp"></c:redirect>

c:url

<c:url></c:url> 完成Cookie禁用之后的url重写的,把一个url进行重写。
cookie被禁用之后。session不能使用。因为少了jsessionid
在一个链接上,去添加jsessionid。

<a href="success.jsp">成功界面</a>
<a href='<c:url value="success.jsp"/>'>成功界面</a>
重写后的url:${cu}

重写后的url:success.jsp;jsessionid=9709DD5F5DC19F3CDFE780B6DE6A26CF

c:param

c:param 给指定的页面进行参值;

<c:url value="success.jsp" var="success"><c:param name="id" value="001"></c:param><c:param name="state" value="success"/>
</c:url>${success}
<a href="${success}">成功页</a>

成功页拿到:

id:${param.id}
state:${param.state}

jsp---JSTL核心标签相关推荐

  1. jstl核心标签使用

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

  2. JSTL 核心标签库标签共有13个

    JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...

  3. java中jstl核心包丢失,小博老师解析Java核心技术 ——JSTL核心标签库

    [引言] JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core.format.xml 和 sql)和一对通 ...

  4. 深入分析JavaWeb Item21 -- JSTL核心标签库

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码. 1.1 使用方法 外包项目, ...

  5. JavaWeb(JSP中的JSTL核心标签学习) c:foreach报错500? 错误原因:ArrayList<String> people = new ArrayList<>()

    1.错误原因 ArrayList<String> people = new ArrayList<>(): 必须写成 ArrayList<String> people ...

  6. JSP~~JSTL~~XML标签库

    XML 提供了非常灵活的方式来表示结构化的数据,可以创建自己的标记来识别数据,不仅仅人可以看懂,而且计算机也可以读懂.并且 XML 可以在不兼容的系统之间进行数据的交换,所以 XML 必定将称为最普遍 ...

  7. JSTL核心标签详解

    1.什么是JSTL标签 JSTL是java中的一个定制标记库集合. JSP标签库(JSTL)是一个JSP标签库集合,它封装了JSP应用的通用核心功能. 根据JSTL标签所提供的的功能,可将其分为5个类 ...

  8. 早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  9. ⑤早起的鸟儿有虫吃-JSTL核心标签库[收藏]

    介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web  ...

  10. JSTL核心标签超详细详解(学习笔记,一文看懂)

    JSTL 一.认识JSTL表达式 1.什么是JSTL JSTL是Java server pages standarded tag library的缩写,即java标准标签库 JSTL百度百科 JSTL ...

最新文章

  1. Linux Kernel 5.0或在达成600万Git Objects时到来
  2. 如何快速地掌握PowerShell?
  3. QToolButton设置背景无效的思考
  4. C++实现String类
  5. x-scan mysql_X-Scan使用教程
  6. python系统学习:第二周之购物车功能
  7. 后PC时代的桌面虚拟化解决方案——VMware View 5
  8. 如何使用Magoshare Data Recovery在mac上恢复找回删除的丢失文件?
  9. yum grouplist 安装gnome桌面环境
  10. 深入理解Linux网络技术内幕学习笔记第二章:一些重要的数据结构
  11. 如何在虚拟机安装windows server 2003
  12. LGG7救砖9008刷全量包
  13. InTouch蜂鸣器报警提示方法
  14. 独立安装 lamp 兄弟连
  15. Spring源码解析之-doCreateBean() 详解
  16. 通过VBA锁定单元格的值
  17. 如何快速提高idm下载速度?idm下载速度只有几十kb
  18. Miracle2.1 列表页面显示附件链接
  19. Java代码获取网络和本地视频时长等信息
  20. matlab成功安装libsvm后,运行程序仍报错“svmtrain has been removed”解决方法记录

热门文章

  1. 教你python自动识别图文验证码的解决方案!
  2. 服务器系统磁盘分区,服务器磁盘分区教程
  3. SMBIOS信息概述 -- DMI
  4. 计算机技能大赛简讯内,科技节现场类比赛简讯
  5. 新版MDN正式上线,还有收费版的MDN Plus,下个月也即将到来
  6. 查找图形图斑中的空洞
  7. 泛娱乐生态倒逼,各大视频为何抢位3D动画?
  8. 检查 GPU 渲染速度和过度绘制
  9. apa引用要在文中吗_如何根据 APA 格式排版?
  10. powerdesign java,PowerDesigner设计数据库表