JSTL学习
来源:互联网 发布:租云服务器除了阿里云 编辑:程序博客网 时间:2024/04/29 05:45
JSTL标签(jsp标准标签库)
包括5类标签库
1、core (核心标签库,包括所有通用标签,流控制标签、循环控制标签)
2、fmt (格式化标签、国际化标签)
3、fn (函数标签库)
4、XML (XML操作的标签库)
5、SQL (数据库操作标签库)
需要的jar包:standard.jar和jstl.jar。使用任何库,你必须在每个JSP文件中的头部包含标签
JSTLStudy_xml
需要导入jar包
在使用xml标签前,你必须将XML 和 XPath 的相关包拷贝至你的<Tomcat 安装目录>\lib
下:
XercesImpl.jar
下载地址: http://www.apache.org/dist/xerces/j/
xalan.jar
下载地址: http://xml.apache.org/xalan-j/index.html
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <c:import url="school.xml" var="schoolXml"></c:import> ${schoolXml} <br /> <x:parse xml="${schoolXml }" var="output"></x:parse> <!-- 下标从1开始 --> <x:out select="$output/school/students[1]/student[1]/name" /> <br /> <x:choose> <x:when select="$output/school/students[1]/student[1]/name = 'zhangsan'"> <c:out value="name is zhangsan"></c:out> </x:when> <x:otherwise> <c:out value="name is not zhangsan"></c:out> </x:otherwise> </x:choose> <br /> <c:set var="xmltext"> <books> <book> <name>Padam History</name> <author>ZARA</author> <price>100</price> </book> <book> <name>Great Mistry</name> <author>NUHA</author> <price>2000</price> </book> </books> </c:set> <x:parse xml="${xmltext}" var="output" /> <x:set var="fragment" select="$output//book" /> <b>The price of the second book</b>: <c:out value="${fragment}" /> <br><%-- <x:set var="student1" select="$output//school"/> --%><%-- <x:out select="${student1}"/> --%></body></html>
JSTLStudy_sql
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <sql:setDataSource var="MyDataSource" driver="com.mysql.jdbc.Driver" user="root" password="root" url="jdbc:mysql://localhost:3306/jstl" /> <sql:query var="queryId_1" sql="select username,password from user where id=1" dataSource="${MyDataSource }"></sql:query> <c:out value="${queryId_1.rows[0].password }"></c:out> <br/> <%--<sql:dateParam value=""/> --%> <sql:update dataSource="${MyDataSource }" sql="update user set username='change_zhangsan' where id=?" var="updateRows"> <sql:param value="2"></sql:param> </sql:update> <c:out value="updateRows=${updateRows }"></c:out> <!-- sql:transaction标签用来将sql:query标签和sql:update标签封装至事务中。 可以将大量的sql:query和sql:update操作装入sql:transaction中,使它们成为单一的事务。 它确保对数据库的修改不是被提交就是被回滚。 --> <%--sql:transaction></sql:transaction --%></body></html>
JSTLStudy_fn
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <!-- fn:contains() 测试输入的字符串是否包含指定的子串 --> <c:out value="${fn:contains('helloworld','hello') }"/> <!-- fn:containsIgnoreCase() 测试输入的字符串是否包含指定的子串,大小写不敏感 --> <c:out value="${fn:containsIgnoreCase('helloworld','heLLo') }"/> <!-- fn:startsWith() 测试输入字符串是否以指定的前缀开始 fn:endsWith() 测试输入的字符串是否以指定的后缀结尾 --> <c:out value="${fn:startsWith('helloworld','hello') }"/> <c:out value="${fn:endsWith('helloworld','world') }"/> <br> <c:set var="str" value="this is <abc> hello world </abc>"></c:set> <!-- fn:escapeXml 函数忽略用于XML标记的字符,将原来XML的标记用转义符号代替 --> <c:out value="${fn:escapeXml(str) }"/><!-- this is <abc> hello world </abc>--> <br> <c:out value="${str}"/><!-- this is <abc> hello world </abc> --> <br> <!-- fn:indexOf() 返回指定字符串在输入字符串中出现的位置 --> <c:out value="${fn:indexOf('helloworld','wo') }"></c:out> <br> <!-- fn:length() 返回字符串长度 --> <c:out value="${fn:length('helloworld')}"></c:out> <br/> <!-- fn:split() 将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回 --> <c:forEach items="${fn:split('hello?world?year?month?day','?') }" var="splitString"> <c:out value="${splitString }"></c:out> </c:forEach> <br/> <% String[] strs=new String[]{"hello","world","people"}; request.setAttribute("strs", strs); %> <!-- fn:join() 将数组中的元素合成一个字符串然后输出 --> <c:out value="${fn:join(strs,'-') }"/> <br/> <!-- fn:replace() 将输入字符串中的字符串替换为指定的字符串然后返回 --> <c:out value="${fn:replace('helloworldmyclass','wor','haha') }"/> <br/> <!-- fn:substring() 返回字符串的子集 --> <c:out value="${fn:substring('helloworld',1,3) }"/> <br/> <!-- fn:substringAfter() 返回字符串在指定子串之后的子集 --> <c:out value="${fn:substringAfter('helloworld','wo') }"/> <br/> <!-- fn:substringBefore()返回字符串在指定子串之前的子集 --> <c:out value="${fn:substringBefore('helloworld','wo') }"/> <br/> <!-- fn:toLowerCase() 将字符串中的字符转为小写 --> <c:out value="${fn:toLowerCase('hellOWOrld') }"/> <br/> <!-- fn:toUpperCase() 将字符串中的字符转为大写 --> <c:out value="${fn:toUpperCase('hellOWOrld') }"/> <br/> <!-- fn:trim() 移除首位的空白符 --> <c:out value="${fn:trim(' hellOW Orld ') }"/></body></html>
JSTLStudy_fmt
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <fmt:requestEncoding value="utf-8" /> <!-- 设置用户的语言国家或地区 variant=""设置浏览器类型--> <fmt:setLocale value="en_US" /> <!-- 绑定资源文件(.properties),prefix是通用的前缀 properties文件必须加入build path,否则结果会是???keyname??? 其中keyname是fmt:message中key的名字 如果資源文件有參數{0} {1} ,可以使用fmt:param填充 --> <fmt:bundle basename="MySchool" prefix="MySchool"> <fmt:message key="Name" var="theschoolName"/> <br> ${theschoolName } <br> <fmt:message key="Address" var="schoolAddr"/> ${schoolAddr } </fmt:bundle> <!--bundle这里需要加上EL表达式,否则报错 Unable to convert string "schoolBundle" to class "javax.servlet.jsp.jstl.fmt.LocalizationContext" for attribute "bundle": Property Editor not registered with the PropertyEditorManager --> <fmt:setBundle basename="MySchool" var="schoolBundle" /> <fmt:message key="MySchoolName" var="newSchoolName" bundle="${schoolBundle }" /> <br> ${newSchoolName } <br> <fmt:message key="MySchoolAddress" var="newAchoolAddr" bundle="${schoolBundle }" /> ${newAchoolAddr }</body></html>
JSTLStudy_core
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %><%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %><%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <c:set scope="page" var="c_var" value="1020.00"></c:set> <c:out value="${c_var }>1021.00"/> <!--输出1020.00>1021.00 --> <br/> <c:if test="${ c_var>1019.99 }" var="testResult"> <c:out value="${c_var } 大于 1019.00 结果是${testResult }"/> </c:if> <!-- 1020.00 大于 1019.00 结果是true --> <br/> <c:choose> <c:when test="${ c_var>1019.99 }"> <c:out value="${c_var } 大于 1019.00"/> </c:when> <c:otherwise> <c:out value="${c_var } 不大于 1019.00"/> </c:otherwise> </c:choose> <!-- 1020.00 大于 1019.00 --> <br/> <c:choose> <c:when test="${ c_var-2.00>1019.99 }"> <c:out value="${c_var-2.00 } 大于 1019.00"/> </c:when> <c:otherwise> <c:out value="${c_var-2.00 } 不大于 1019.00"/> </c:otherwise> </c:choose> <!-- 1018.0 不大于 1019.00 --> <br> <% String[] str=new String[]{"Hello",",","welcome","to","BeiJing","!","Thank","You","!"}; request.setAttribute("str", str); %> <!-- varStatus保存了index(索引)、count(迭代次数)、first、last --> <c:forEach items="${str }" var="t_str" varStatus="VarStatus"> <c:if test="${VarStatus.first }"> <c:out value="everyone listen to me:"/> <br/> </c:if> <c:if test="${VarStatus.last }"> <c:out value="OK!"/> <br/> </c:if> <c:out value="${VarStatus.index}"></c:out><c:out value="${t_str}"/> <br/> </c:forEach> <!-- everyone listen to me: 0Hello 1, 2welcome 3to 4BeiJing 5! 6Thank 7You OK! 8! --> <c:set var="Strings" value="hello?world??nohello?noworld"></c:set> <c:forTokens items="${Strings }" delims="?" var="nowString"> <c:out value="${nowString }"/> </c:forTokens> <!-- hello world nohello noworld --> <c:remove var="Strings"/> <c:catch></c:catch> <br> <!-- 将url的内容读取到var中 --> <c:import url="input.jsp" var="jspContent"> </c:import> <c:out value="${jspContent }"></c:out> <%--<c:param name="" value=""></c:param> --%> <!-- context=""当要重定向目标网址为其他Web应用的网页时指出其应用名 当传递参数的时候出现乱码,可以修改Tomcat的server.xmlt中在Connector标签里加入URIEncoding="utf-8" --> <%--<c:redirect url="input.jsp"/> --%> <a href="<c:url value="input.jsp"/>">to input.jsp</a></body></html>
1 0
- JSTL 学习
- JSTL学习
- 学习JSTL
- JSTL学习
- 学习JSTL
- JSTL学习
- JSTL学习
- jstl学习
- JSTL学习
- 学习JSTL摘要
- JSTL 学习笔记
- JSTL 学习笔记
- jstl标签学习
- JSTL学习笔记
- jstl学习笔记
- JSTL 学习、应用记录
- JSTL 学习、应用记录
- JSTL学习笔记
- java反射-private方法
- 给div命名,使逻辑更加清晰
- nginx初接触二
- VS2013调试结束闪退问题,解决方法,亲测有效!
- servlet生命周期
- JSTL学习
- 我的四轴飞行器经验总结(四)--互补滤波法进行姿态解算详解
- 马走日(bfs)
- android学习计划
- Spring Boot入门(一)- Gradle构建应用
- 剪邮票
- HashTable源码分析
- JDBC操作小例子
- Codeforce