JSTL标签和常用函数的使用
来源:互联网 发布:无数据库论坛源码 编辑:程序博客网 时间:2024/05/21 12:40
JSTL标签和常用函数的使用
使用JSTL标签和函数前先将所需的jar包导入到项目的WEB-INF/lib目录下并创建路径(Build Path)
使用JSTL标签和函数需要先在jsp页面头部中导入标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
c:out标签的使用
<h2>c:out标签的使用</h2> <p>--------------------------------------</p> <h4>输出常量:</h4> <!-- value表示输出的变量或值 --> <c:out value="现在输出的是常量"></c:out><br> <h4>输出变量:</h4> <% request.setAttribute("Variable", "Variable"); %> <c:out value="${Variable}"></c:out><br> <h4>当变量不存在的时候输出变量:</h4> <!-- default表示value无效时所输出的值 --> <c:out value="${Variable1}" default="变量不存在"></c:out><br> <h4>设置输出转义后的字符需要escapeXml属性值设置为false:</h4> <c:out value="< out标签 >" escapeXml="false"></c:out> <p>--------------------------------------</p>
c:set标签的使用
person为jsp的useBean标签获取的JavaBean中的Person对象(此处已省略)
<h2>c:set标签的使用</h2> <p>--------------------------------------</p> <h4>存值到scope中</h4> <!-- value是所要存的值,var是存值的名,scope是存值的范围 --> <!-- value值可以写在标签里或者一对标签中间 --> <c:set value="name1" var="name1" scope="request"></c:set> <c:out value="${name1}"></c:out><br> <c:set var="name2" scope="request">name2</c:set> <c:out value="${name2}"></c:out><br> <h4>通过set标签向JavaBean中person赋值</h4> <!-- target为目标对象,property为属性 --> <c:set target="${person}" property="name" value="张三"></c:set> <c:set target="${person}" property="age">28</c:set> <c:set target="${person}" property="add">湖北工业大学</c:set> <!-- 输出person对象的属性 --> <!-- EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀, 一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值 --> <c:out value="${person.name}"></c:out> <c:out value="${person.age}"></c:out> <c:out value="${person.add}"></c:out> <p>--------------------------------------</p>
c:remove标签的使用
<h2>c:remove标签的使用</h2> <p>--------------------------------------</p> <c:set var="firstName" value="理发师Tony"></c:set> <c:out value="${firstName}"></c:out><br> <!-- 移除变量名为var的值 --> <c:remove var="firstName"/> <c:out value="${firstName}" default="理发师Tony已移除!"></c:out> <p>--------------------------------------</p>
c:catch标签的使用
<h2>c:catch标签的使用</h2> <p>--------------------------------------</p> <!-- 如果catch里的语句有问题将不执行catch里面的语句并将错误信息保存在var中 --> <c:catch var="error"> 下面的一条语句是随便写的<br> <c:set target="aa" property="bb">sadsasa</c:set> </c:catch> 错误信息为: <c:out value="${error}"></c:out> <p>--------------------------------------</p>
c:if标签的使用
<h2>c:if标签的使用</h2> <p>--------------------------------------</p> <!-- test属性用于存放判断的条件,一般使用EL表达式来编写 --> <!-- var指定名称用来存放判断的结果类型为true或false --> <!-- scope用来存放var属性存放的范围 --> <form action="index.jsp" method="post"> 请输入您的成绩:<input type="text" name="score01" value="${param.score01}"> <input type="submit"> </form> <!-- 从param中取出名为score01的值进行判断 --> <c:if test="${param.score01 >= 90}" var="result" scope="application"> <c:out value="恭喜,您的成绩是优秀"></c:out> </c:if> <c:out value="${result}"></c:out> <c:out value="${applicationScope.result}"></c:out> <p>--------------------------------------</p>
c:choose-when-otherwise标签的使用
<h2>c:choose-when-otherwise标签的使用</h2> <p>--------------------------------------</p> <form action="index.jsp" method="post"> 请输入您的成绩:<input type="text" name="score02" value="${param.score02}"> <input type="submit"> </form> <!-- test表示判断语句 --> <!-- otherwise可写可不写 --> <c:choose> <c:when test="${param.score02 >= 90 && param.score02 <=100}"> <c:out value="优秀"></c:out> </c:when> <c:when test="${param.score02 >= 80 && param.score02 <90}"> <c:out value="良好"></c:out> </c:when> <c:when test="${param.score02 >= 70 && param.score02 <80}"> <c:out value="中等"></c:out> </c:when> <c:when test="${param.score02 >= 60 && param.score02 <70}"> <c:out value="及格"></c:out> </c:when> <c:when test="${param.score02 >= 0 && param.score02 <60}"> <c:out value="不及格"></c:out> </c:when> <c:otherwise> <c:out value="您的输入有问题"></c:out> </c:otherwise> </c:choose> <p>--------------------------------------</p>
c:forEach标签的使用
<h2>c:forEach标签的使用</h2> <p>--------------------------------------</p> <!-- var设定变量名用于存储从集合中取出元素 --> <!-- items指定要遍历的集合(必须无默认值) --> <!-- begin、end用于指定遍历的起始位置和终止位置(有默认) --> <!-- step指定循环步长(有默认) --> <% List<String> fruits = new ArrayList<String>(); fruits.add("apple"); fruits.add("orange"); fruits.add("pear"); fruits.add("watermelon"); fruits.add("banana"); fruits.add("grape"); request.setAttribute("fruits", fruits); %> <!-- forEach标签的用法 --> <!-- 用法一:全部遍历 --> <c:forEach var="fruit" items="${fruits}"> <c:out value="${fruit}"></c:out><br> </c:forEach> <c:out value="==========================="></c:out><br> <!-- 用法二:部分遍历 --> <c:forEach var="fruit" items="${fruits}" begin="1" end="4"> <c:out value="${fruit}"></c:out><br> </c:forEach> <c:out value="==========================="></c:out><br> <!-- 用法三:部分遍历并指定步长 --> <c:forEach var="fruit" items="${fruits}" begin="1" end="4" step="2"> <c:out value="${fruit}"></c:out><br> </c:forEach> <c:out value="==========================="></c:out><br> <!-- 用法四:部分遍历并输出元素状态 --> <c:forEach var="fruit" items="${fruits}" begin="2" end="4" varStatus="fru"> <c:out value="${fruit}的四个属性值"></c:out><br> <c:out value="index属性:${fru.index}"></c:out><br> <c:out value="first属性:${fru.first}"></c:out><br> <c:out value="last属性:${fru.last}"></c:out><br> <c:out value="count属性:${fru.count}"></c:out><br> <c:out value="-------------------------"></c:out><br> </c:forEach> <c:out value="==========================="></c:out><br> <p>--------------------------------------</p>
c:forTocken标签的使用
<h2>c:forTocken标签的使用</h2> <p>--------------------------------------</p> <!-- c:forTocken的使用方法一 --> <!-- items指定被迭代的字符串 --> <!-- delims指定使用的分隔符 --> <!-- var指定用来存放遍历到的成员 --> <!-- begin指定遍历的开始位置(int型从取值0开始) --> <!-- end指定遍历结束的位置(int型,默认集合中最后一个元素) --> <!-- step为遍历的步长(大于0的整型) --> <!-- varStatus通过index、count、first、last几个状态值描述begin和end子集中的元素的状态 --> <c:forTokens items="010-8888888-123" delims="-" var="num"> <c:out value="${num}"></c:out><br> </c:forTokens> <c:out value="==============================="></c:out><br> <!-- c:forTocken的使用方法二 --> <c:forTokens items="010-1234567-321-2132-54645-67876867" delims="-" var="num0" begin="1" end="4"> <c:out value="${num0}"></c:out><br> </c:forTokens> <c:out value="==============================="></c:out><br> <!-- c:forTocken的使用方法三 --> <c:forTokens items="010-1234567-321-2132-54645-67876867" delims="-" var="num1" step="2"> <c:out value="${num1}"></c:out><br> </c:forTokens> <c:out value="==============================="></c:out><br> <!-- c:forTocken的使用方法四 --> <c:forTokens items="010-1234567-321-2132-54645-67876867" delims="-" var="num1" step="2" varStatus="n"> <c:out value="num的index属性:${n.index}"></c:out><br> <c:out value="num的count属性:${n.count}"></c:out><br> <c:out value="num的first属性:${n.first}"></c:out><br> <c:out value="num的last属性:${n.last}"></c:out><br> <c:out value="---------------------------"></c:out><br> </c:forTokens> <c:out value="==============================="></c:out><br> <p>--------------------------------------</p>
c:import标签的使用-网络上的绝对路径已注释
<h2>c:import标签的使用-网络上的绝对路径已注释</h2> <p>--------------------------------------</p> <!-- url为被导入资源的URL路径 --> <!-- context为相同服务器下的其他web工程,必须以"/"开头 --> <!-- Scope var变量的JSP范围 --> <!-- charEncoding被导入文件的编码格式 --> <!-- varReader以Reader类型存储被包含文件内容 --> <!-- import标签的用法 --> <!-- 导入网络上的绝对路径 --> <!-- 网络上的绝对路径可能有变动或修改,所以import标签通常在catch标签里面捕获异常 --> <%-- <c:catch var="error01"> <c:import url="http://www.baidu.com" charEncoding="utf-8"></c:import> </c:catch> <c:out value="${error01}"></c:out><br><br> --%> <!-- 导入相对路径 --> <c:catch var="error02"> <c:import url="NewFile.html" charEncoding="utf-8"></c:import> </c:catch> <c:out value="${error02}"></c:out><br><br> <!-- var及scope相对路径 --> <c:catch var="error03"> <c:import url="NewFile.html" charEncoding="utf-8" scope="session" var="NewFile"></c:import> </c:catch> <c:out value="${error03}"></c:out><br><br> <c:out value="import标签存储的HTML字符串变量值为:${NewFile}"></c:out> <!-- context属性的用法 --> <c:catch var="error04"> <c:import url="/index.html" charEncoding="utf-8" context="/C_outLabel"></c:import> </c:catch> <c:out value="${error04}"></c:out><br><br> <p>--------------------------------------</p>
c:redirect标签的使用–已注释
url的值为重定向的到的页面(可修改)
<h2>c:redirect标签的使用--已注释</h2> <p>--------------------------------------</p> <!-- 重定向到redirectPage.jsp --> <%-- <c:redirect url="redirectPage.jsp"> <c:param name="username">TB</c:param> </c:redirect> --%> <p>--------------------------------------</p>
c:url标签的使用
C_JSTL_LabelAndFunction为项目名(可修改)
urlPage.jsp为跳转的url页面(可修改)
<h2>c:url标签的使用</h2> <p>--------------------------------------</p> <c:if test="${5 < 6}"> <c:set var="urlPage">urlPage.jsp</c:set> </c:if> <c:url var="url" value="http://localhost:8080/C_JSTL_LabelAndFunction/${urlPage }"></c:url> <a href="${url }">跳转到url页面!</a> <p>--------------------------------------</p>
JSTL常用的function的使用
<h2>JSTL常用的function的使用</h2> <p>--------------------------------------</p> <c:out value="“你好,Hello World!”字符串是否包含“Hello”子字符串:${fn:contains('你好,Hello World!','Hello') }"></c:out><br> <c:out value="“你好,Hello World!”字符串是否包含“aaaa”子字符串:${fn:contains('你好,Hello World!','aaaa') }"></c:out><br> <c:out value="“你好,Hello World!”字符串是否包含“hello”子字符串:${fn:contains('你好,Hello World!','hello') }"></c:out><br> <c:out value="“你好,Hello World!”字符串是否包含“hello”子字符串:${fn:containsIgnoreCase('你好,Hello World!','hello') }"></c:out><br> <c:out value="“World”字符串是否在“你好,Hello World!”字符串末尾:${fn:endsWith('你好,Hello World!','World') }"></c:out><br> <c:out value="“你好”字符串是否在“你好,Hello World!”字符串开头:${fn:startsWith('你好,Hello World!','你好') }"></c:out><br> <c:out value="“你好,Hello World!”字符串中“llo”子字符串的索引:${fn:indexOf('你好,Hello World!','llo') }"></c:out> <p>--------------------------------------</p>
其他常用JSTL函数
- fn:length()–返回字符串长度或集合中元素的数量
${fn:length(collection | string)}
- fn:replace()–将字符串中所有指定的子串用另外的字符串替换
${fn:replace(<原始字符串>, <被替换的字符串>, <要替换的字符串>)}
- fn:split()–将一个字符串用指定的分隔符分裂为一个子串数组
${fn:split(<带分隔符的字符串>, <分隔符>)}
- fn:startsWith()–用于确定一个字符串是否以指定的前缀开始
<c:if test="${fn:startsWith(<原始字符串>, <搜索的前缀>)}">
...
</c:if>
这是本人第一次写博客,写得不好请见谅!
0 0
- JSTL标签和常用函数的使用
- 常用JSTL标签的使用
- JSTL常用标签的使用
- JSTL常用标签使用
- JSP标签JSTL(5)--常用的标签函数
- JSTL常用标签的使用:if、forEach、out等标签
- JSTL标签库的使用和介绍
- Idea jstl标签的引入和使用
- JSTL函数标签库fn标签的使用
- jstl标签的使用
- 标签的使用 JSTL
- [JSTL]标签的使用
- JSTL标签的使用
- JSTL标签的使用
- [JSTL]标签的使用
- jstl标签的使用
- jstl标签的使用
- JSTL标签的使用
- 相对定位和绝对定位以及固定定位
- C/C++常用头文件及函数汇总
- 编解码基础2
- 报头压缩-Linux下安装ROHC协议库
- 堆栈
- JSTL标签和常用函数的使用
- 数据访问层(连接数据库)
- 行级元素上下边距 块级元素左右边距
- shell传参注意空格
- Windows环境下IOS APP打包上传AppStore详细流程
- Intellij IDEA设置显示行号
- LeetCode_62、63、64三题(动态规划)
- 字母所有的排列方式
- CCF NOI1069 分解因数