JSP页面引入:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
表达式操作标签:out、set、remove、catch
1.<c:out>
<c:out>可以在页面中显示一个字符串或一个EL表达式的值。它的功能与JSP传统的<%=表达式%>相类似。
out标签的使用格式如下:
<c:out value=”object” [escapeXml=”true|false”] />
<c:out value=”object” [escapeXml=”true|false”] >default value</c:out>
参数:
value:可以指定一个字符串作为输出内容,也可以为EL表达式,例如${3+5}。
escapeXml:类型为boolean,确定<、>、&、’、”等这些字符在结构的字符串中是否被转换成字
符串实体代码,默认的是true。
default value:可以是字符串,或一个表达式(EL表达式或者<%=表达式%>的JSP表达式)。
如果属性指定的表达式或者对象值为null时,那么将输出这个default value部分的值。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>JSTL OUT标签</title> </head> <body> <% String items[] = new String[3]; items[0] = "JSTL OUT标签测试"; items[1] = "<h2>abc</h2>"; items[2] = "输出2"; request.setAttribute("items", items); %> <c:out value="${a}">JSTL OUT标签</c:out> <br /> <c:out value="${b}" default="JSTL OUT" /> <br /> <c:out value="${items[0]}">JSTL OUT标签</c:out> <br /> <c:out value="${items[1]}" /> <br /> <c:out value="${items[1]}" escapeXml="false" /> <br /> <c:out value="${items[2]}" /> <br /> <c:out value="${111+211}" /> </body> </html>
输出:
JSTL OUT标签
JSTL OUT
JSTL OUT标签测试
<h2>abc</h2>
abc
输出2
322
2.<c:set>
<c:set>标签是用来在某个范围(request、session或者application)内设值,或者设置某个对象的属性值。
set标签的使用格式如下:
<c:set var=”varName” value=”varValue” [scope=”page|request|session|application”] />
<c:set var=”varName” value=” Value” [scope=”page|request|session|application”] >
default value
</c:set>
<c:set property=”propertyName” target=”target” value=”value” />
<c:set property=”propertyName” target=”target” value=”value” >
default value
</c:set>
参数:
value:该属性指定变量或者对象中某个属性的值,并且可以是一个表达式。
var:变量名称, value属性指定的值就保存在这个变量中。
scope:设定变量的有效范围,如果不设置,则默认为page。
target:设置属性的一个对象,它必须是JavaBean或者java.util.Map对象。
property:设置对象中的一个属性。
例子:
package test.jstl; import java.io.Serializable; public class Test implements Serializable { private static final long serialVersionUID = 7133763668848520975L; private String name; private String value; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public String toString() { return "Test [name=" + name + ", value=" + value + "]"; } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL SET标签</title> </head> <body> <% Test test = new Test(); test.setName("名字1"); test.setValue("值1"); request.setAttribute("test", test); %> <h3>set标签测试</h3> <c:set var="var1" value="1" /> <c:set var="var2" value="2" scope="page" /> <c:set var="var3" value="3" scope="request" /> <c:set var="var4" value="4" scope="session" /> <c:set var="var5" value="5" scope="application" /> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <c:out value="${var4}" /> <br /> <c:out value="${var5}" /> <br /> <h3>修改Test类中Name属性的值前:</h3> <c:out value="${test.name}" /> <br /> <h3>修改Test类中Name属性的值后:</h3> <c:set property="name" target="${test}" value="名字2" /> <c:out value="${test.name}" /> <br /> </body> </html>
输出:
set标签测试
1
2
3
4
5
修改Test类中Name属性的值前:
名字1
修改Test类中Name属性的值后:
名字2
3.<c:remove>
remove标签一般和set标签配套使用,两者是相对应的,remove标签用于删除某个变量或者属性。
使用格式如下:
<c:remove var=”varName” [scope=”page|request|session|application”] />
参数:
scope:设定这个需要删除的变量所在范围。
var:需要删除的变量或者对象属性的名称。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL Remove标签</title> </head> <body> <h3>remove标签测试</h3> <c:set var="var1" value="1" /> <c:set var="var2" value="2" scope="page" /> <c:set var="var3" value="3" scope="request" /> <h3>删除前:</h3> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <h3>删除Page对象后:</h3> <c:remove var="var1" scope="page" /> <c:remove var="var2" scope="page" /> <c:remove var="var3" scope="page" /> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <h3>删除对象后:</h3> <c:remove var="var3" /> <c:out value="${var3}" /> <br /> </body> </html>
输出:
remove标签测试
删除前:
1
2
3
删除Page对象后:
3
删除对象后:
4.<c:catch>
catch标签的功能和Java程序中try…catch{}语句功能很类似,它用于捕获嵌入到它中间语句抛出的异常。
使用格式如下:
<c:catch var=”varName” > 相关操作语句 </c:catch>
参数:
var:用于保存异常错误的一个变量名。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL Catch标签</title> </head> <body> <c:catch var="error"> <% String str = "3"; int num1 = Integer.parseInt(str); request.setAttribute("num1", num1); %> </c:catch> <c:out value="数字为:" /> <c:out value="${num1 }" /> <br/> <c:out value="错误为:" /> <c:out value="${error }" /> <hr /> <c:catch var="error"> <% String str = "a"; int num2 = Integer.parseInt(str); request.setAttribute("num2", num2); %> </c:catch> <c:out value="数字为:" /> <c:out value="${num2 }" /> <br/> <c:out value="错误为:" /> <c:out value="${error }" /> </body> </html>
输出:
相关推荐
jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...
jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2
jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...
鄙人分享 亲测可用 欢迎使用 jstl-impl-1.2.jar jstl-impl-1.2.jar、
导入时需要将两个都导入,jstl-1.2.jar是高版本的,是将低版本的两个文件合成一个了,故只需要导入一个文件即可,导入的同时在jsp文件首行写入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" ...
jstl-api-1.2、jstl-impl-1.2.jar标签包,两份。
Tomcat启动报错 java.lang.ClassNotFoundException: org.apache.jsp.index_jsp,检查你的项目中是否存在jsp-api.jar,jstl-api.jar,servlet-api.jar。
网上搜集的,然后自己整理了一下。 JSTL-Core标签库.pdf
包含jstl-api-1.2.1.jar,jstl-1.2.jar,jstl-impl-1.2.jar,standard-1.1.2.jar!!!!!
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config,以上错误可以使用以下策略试试,tomcat的lib文件夹下加入:jstl-1.2.jar、jstl-api-1.2.jar、jstl-impl-1.2.jar三个包。
内含jstl-1.2、jstl-api-1.2、jstl-impl-1.2、standard-1.1.2
jstl-impl-1.2.2.jar!
包括 jstl-api.jar和jstl-impl.jar和jstl.jar三个资源
是在java web,jsp开发过程中,为了支持JSTL标签而需要使用到的两个jar,包括jstl-impl-1.2.jar和jstl-api-1.2.jar
jstl-api.jar和jstl-impl-1.2.jar.zip
javax.servlet.jsp.jstl-api-1.2.1.jar
jstl-api-1.2.jar 测试可用 测试可用 测试可用
使用jsp/servlet的jstl必须用到的两个标签库jstl-api-1.2.jar和jstl-impl.jar
jstl1.2 jar包jstl-api-1.2.jar jstl-impl-1.2.jar
JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源...