jsp---JSTL核心标签
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核心标签相关推荐
- jstl核心标签使用
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...
- JSTL 核心标签库标签共有13个
JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.otherwise 3.循环标签:f ...
- java中jstl核心包丢失,小博老师解析Java核心技术 ——JSTL核心标签库
[引言] JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,由四个定制标记库(core.format.xml 和 sql)和一对通 ...
- 深入分析JavaWeb Item21 -- JSTL核心标签库
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码. 1.1 使用方法 外包项目, ...
- JavaWeb(JSP中的JSTL核心标签学习) c:foreach报错500? 错误原因:ArrayList<String> people = new ArrayList<>()
1.错误原因 ArrayList<String> people = new ArrayList<>(): 必须写成 ArrayList<String> people ...
- JSP~~JSTL~~XML标签库
XML 提供了非常灵活的方式来表示结构化的数据,可以创建自己的标记来识别数据,不仅仅人可以看懂,而且计算机也可以读懂.并且 XML 可以在不兼容的系统之间进行数据的交换,所以 XML 必定将称为最普遍 ...
- JSTL核心标签详解
1.什么是JSTL标签 JSTL是java中的一个定制标记库集合. JSP标签库(JSTL)是一个JSP标签库集合,它封装了JSP应用的通用核心功能. 根据JSTL标签所提供的的功能,可将其分为5个类 ...
- 早起的鸟儿有虫吃-JSTL核心标签库[收藏]
介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web ...
- ⑤早起的鸟儿有虫吃-JSTL核心标签库[收藏]
介绍 JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web ...
- JSTL核心标签超详细详解(学习笔记,一文看懂)
JSTL 一.认识JSTL表达式 1.什么是JSTL JSTL是Java server pages standarded tag library的缩写,即java标准标签库 JSTL百度百科 JSTL ...
最新文章
- Linux Kernel 5.0或在达成600万Git Objects时到来
- 如何快速地掌握PowerShell?
- QToolButton设置背景无效的思考
- C++实现String类
- x-scan mysql_X-Scan使用教程
- python系统学习:第二周之购物车功能
- 后PC时代的桌面虚拟化解决方案——VMware View 5
- 如何使用Magoshare Data Recovery在mac上恢复找回删除的丢失文件?
- yum grouplist 安装gnome桌面环境
- 深入理解Linux网络技术内幕学习笔记第二章:一些重要的数据结构
- 如何在虚拟机安装windows server 2003
- LGG7救砖9008刷全量包
- InTouch蜂鸣器报警提示方法
- 独立安装 lamp 兄弟连
- Spring源码解析之-doCreateBean() 详解
- 通过VBA锁定单元格的值
- 如何快速提高idm下载速度?idm下载速度只有几十kb
- Miracle2.1 列表页面显示附件链接
- Java代码获取网络和本地视频时长等信息
- matlab成功安装libsvm后,运行程序仍报错“svmtrain has been removed”解决方法记录