<jsp:useBean id="cartoon" scope="page" class="com.ora.CartoonBean">
<img src="<jsp:getProperty name="cartoon" property="filename" />">
<jsp:useBean id="msg" class=""></jsp:useBean>
<jsp:setProperty name="msg" property="category" value="thoughts" />
使用<c:set>动作
<c:set target="${msg}" property="category" value="thoughts" />
使用JSTL动作访问参数值
<input type="text" name="userName">
<input type="checkbox" name="food" value="z">
<input type="checkbox" name="food" value="b">
<input type="checkbox" name="food" value="c">
打印相关变量值:
<c:out value="${param.userName}">
<c:forEach items="${paramValues.food}" var="current">
<c:out value="${current}" />
</c:forEach>
<c:out value="${username}" />
相当于JSP语句<%=request.getAttribute(“username”)%>
<%=session.getAttribute(“username”)%>
${user["username"]} 与 ${user. username}含义相同
${empty param.username} 与 ${param.firstname == null}含义相同
如果request的参数列表中的username值为null,则表达式的值为true
<%@ page session="false" %>
<jsp:useBean id = "current" class ="java.util.Date" />
<fmt:formatDate value = " ${current}" /> <br>
<fmt:formatDate value = " ${current}" type="both" /> <br>
<fmt:formatDate value = " ${current}"
pattern = " yyyy'年'MM'月'dd'日' hh'时'mm'分'ss'秒' a EEEE " />
执行结果 :
2006 - 12 - 15
2006 - 12 - 15 11 : 41 : 18
2006年12月15日 11时41分18秒 上午 星期五
JSTL核心标签库支持使用<c:import>来包含文件,使用<c:url>来打印和格式化URL,使用<c:redirect>来重定向URL。
JSTL包含以下的标签:
常用的标签:如 : < c:out > 、< c:remove > 、< c: catch > 、< c:set > 等
条件标签:如 < c: if >、< c:when > 、< c:choose > 、< c:otherwise > 等
URL标签:如 < c: import > 、 < c:redirect > 和 < c:url > 等
XML标签:如 < xml:out > 等
国际化输出标签:如 < fmt:timeZone > 等
SQL标签:如 < sql:query > 、 < sql:update > 、 < sql:transaction > 等
----------------------------------------------------------
JSTL <c:out>的属性
value:必要。增加至响应的值。
escapeXml:Boolean:可选,如果值中的特殊字符应当轮换为字符实体码,
则为true,默认为true。
Default:可选,value属性为null时所用的值,也可以由体定义。
-----------------------------------------------------------
JSTL <c:set>的属性
value 要保存的信息,可以是EL表达式或常量
target 需要修改属性的变量名,一般为javabean的实例
property 需要修改的javabean属性
var 需要保存信息的变量
scope 保存信息的变量的范围,缺省值page
c:set标签有两种不同的设置:var和target。
1.如果“target”是一个Map, “property”指定的是该Map的一个键;
如果“target”是一个bean,“property”指定的是该bean的一个成员字段。
2.不能同时有“var”和“target”属性
3.如果指定了target属性, 那么property属性也必须指定。
<c:set target="${cust.address}" property="city" value="${city}"/>
<c:set value="${test.testinfo}" var="test2" scope="session"/>
将test.testinfo的值保存到session的test2中,
其中test是一个javabean的实例,testinfo是test对象的属性
-----------------------------------------------------------
<c:remove>
var 要删除的变量 ,必要。
scope 被删除变量的范围,包括page、request、session、application等
<c:remove var="test2" scope="session"/> 从session中删除test2变量
-----------------------------------------------------------
<c:catch>
这个标签相当于捕获在它里边的标签抛出的异常对象
<c: catch [var="varName"]> // var是异常的名字
内容
</c:catch>
-----------------------------------------------------------
JSTL <c:forEach>属性
items:可选,如果指定,则完全循环,否则,就要指定begin和end。
var:可选,保存当前元素值的变量的名
varStatus:可选,保存一个LoopTagStatus对像的变量的名
begin:可选,第一个索引(从0开始)
end:可选,最后一个索引
step:可选,每次迭代时的索引增量,默认值1。
<c:forEach items="${vectors}" var="vector">
<c:out value="${vector}"/>
</c:forEach>
for(int i=0;i<vectors.size();i++) {
out.println(vectors.get(i));
}
-----------------------------------------------------------
<c:if test="${user.wealthy}">
user.wealthy is true.
</c:if>
如果user.wealthy值true,则显示user.wealthy is true.
-----------------------------------------------------------
<c:choose>
<c:when test="${user.generous}">
user.generous is true.
</c:when>
<c:when test="${user.stingy}">
user.stingy is true.
</c:when>
<c:otherwise>
user.generous and user.stingy are false.
</c:otherwise>
</c:choose>
只有当条件user.generous返回值是true时,才显示user.generous is true.
只有当条件user.stingy返回值是true时,才显示user.stingy is true.
其它所有的情况(即user.generous和user.stingy的值都不为true)
全部显示user.generous and user.stingy are false
<c:choose>和<c:otherwise> 这两个标签不接受任何属性
<c:if>
test 需要评价的条件,相当于if (...){}语句中的条件,必要。
var 要求保存条件结果的变量名
scope 保存条件结果的变量范围,默认值:page
<c:when>
test 需要评价的条件,必要。
---------------------------------------------------------
<c:forTokens>
items 进行循环的项目,必要。
delims 分割符,必要。
begin 开始条件 默认值:0
end 结束条件
step 步长 默认值:1
var 代表当前项目的变量名
varStatus 显示循环状态的变量
<c:forTokens items="a:b:c:d" delims=":" var="token">
<c:out value="${token}"/>
</c:forTokens>
--------------------------------------------------------
<c:import>
url 需要导入页面的url ,必要。
context /后跟本地web应用程序的名字
charEncoding 用于导入数据的字符集 默认值:ISO-8859-1
var 接受导入文本的变量名 默认值:page
scope 接受导入文本的变量的变量范围 默认值:1
varReader 用于接受导入文本的java.io.Reader变量名
varStatus 显示循环状态的变量
<c:import url=" http://www.url.com/edit.js " var="newsfeed"/>
将 http://www.url.com/edit.js 包含到当前页的当前位置,并将url保存到newsfeed变量中
---------------------------------------------------------
<c:url>
url url地址,必要。
context /后跟本地web应用程序的名字
charEncoding 用于导入数据的字符集 默认值:ISO-8859-1
var 接受处理过的url变量名,该变量存储url
scope 存储url的变量名的变量范围 默认值:page
<a href="<c:url url="/index.jsp"/>"/>
---------------------------------------------------------
<c:redirect>
url url地址,必要。
context /后跟本地web应用程序的名字
<c:redirect url="http://www.yourname.com/login.jsp"/>
相当于response.setRedirect(" http://www.yourname.com/login.jsp ");
---------------------------------------------------------
<c:param>
name 在request参数中设置的变量名,必要。
value 在request参数中设置的变量值
<c:redirect url="login.jsp">
<c:param name="id" value="888"/>
</c:redirect>
将参数888以id为名字传递到login.jsp页面,相当于login.jsp?id=888
-----------------------------------------------------------
SQL相关的标签
1.<sql:setDataSource>
2.<sql:query>
3.<sql:update>
4.<transaction>
5.<param>
----------------------------------------------------------
<img src="<jsp:getProperty name="cartoon" property="filename" />">
<jsp:useBean id="msg" class=""></jsp:useBean>
<jsp:setProperty name="msg" property="category" value="thoughts" />
使用<c:set>动作
<c:set target="${msg}" property="category" value="thoughts" />
使用JSTL动作访问参数值
<input type="text" name="userName">
<input type="checkbox" name="food" value="z">
<input type="checkbox" name="food" value="b">
<input type="checkbox" name="food" value="c">
打印相关变量值:
<c:out value="${param.userName}">
<c:forEach items="${paramValues.food}" var="current">
<c:out value="${current}" />
</c:forEach>
<c:out value="${username}" />
相当于JSP语句<%=request.getAttribute(“username”)%>
<%=session.getAttribute(“username”)%>
${user["username"]} 与 ${user. username}含义相同
${empty param.username} 与 ${param.firstname == null}含义相同
如果request的参数列表中的username值为null,则表达式的值为true
<%@ page session="false" %>
<jsp:useBean id = "current" class ="java.util.Date" />
<fmt:formatDate value = " ${current}" /> <br>
<fmt:formatDate value = " ${current}" type="both" /> <br>
<fmt:formatDate value = " ${current}"
pattern = " yyyy'年'MM'月'dd'日' hh'时'mm'分'ss'秒' a EEEE " />
执行结果 :
2006 - 12 - 15
2006 - 12 - 15 11 : 41 : 18
2006年12月15日 11时41分18秒 上午 星期五
JSTL核心标签库支持使用<c:import>来包含文件,使用<c:url>来打印和格式化URL,使用<c:redirect>来重定向URL。
JSTL包含以下的标签:
常用的标签:如 : < c:out > 、< c:remove > 、< c: catch > 、< c:set > 等
条件标签:如 < c: if >、< c:when > 、< c:choose > 、< c:otherwise > 等
URL标签:如 < c: import > 、 < c:redirect > 和 < c:url > 等
XML标签:如 < xml:out > 等
国际化输出标签:如 < fmt:timeZone > 等
SQL标签:如 < sql:query > 、 < sql:update > 、 < sql:transaction > 等
----------------------------------------------------------
JSTL <c:out>的属性
value:必要。增加至响应的值。
escapeXml:Boolean:可选,如果值中的特殊字符应当轮换为字符实体码,
则为true,默认为true。
Default:可选,value属性为null时所用的值,也可以由体定义。
-----------------------------------------------------------
JSTL <c:set>的属性
value 要保存的信息,可以是EL表达式或常量
target 需要修改属性的变量名,一般为javabean的实例
property 需要修改的javabean属性
var 需要保存信息的变量
scope 保存信息的变量的范围,缺省值page
c:set标签有两种不同的设置:var和target。
1.如果“target”是一个Map, “property”指定的是该Map的一个键;
如果“target”是一个bean,“property”指定的是该bean的一个成员字段。
2.不能同时有“var”和“target”属性
3.如果指定了target属性, 那么property属性也必须指定。
<c:set target="${cust.address}" property="city" value="${city}"/>
<c:set value="${test.testinfo}" var="test2" scope="session"/>
将test.testinfo的值保存到session的test2中,
其中test是一个javabean的实例,testinfo是test对象的属性
-----------------------------------------------------------
<c:remove>
var 要删除的变量 ,必要。
scope 被删除变量的范围,包括page、request、session、application等
<c:remove var="test2" scope="session"/> 从session中删除test2变量
-----------------------------------------------------------
<c:catch>
这个标签相当于捕获在它里边的标签抛出的异常对象
<c: catch [var="varName"]> // var是异常的名字
内容
</c:catch>
-----------------------------------------------------------
JSTL <c:forEach>属性
items:可选,如果指定,则完全循环,否则,就要指定begin和end。
var:可选,保存当前元素值的变量的名
varStatus:可选,保存一个LoopTagStatus对像的变量的名
begin:可选,第一个索引(从0开始)
end:可选,最后一个索引
step:可选,每次迭代时的索引增量,默认值1。
<c:forEach items="${vectors}" var="vector">
<c:out value="${vector}"/>
</c:forEach>
for(int i=0;i<vectors.size();i++) {
out.println(vectors.get(i));
}
-----------------------------------------------------------
<c:if test="${user.wealthy}">
user.wealthy is true.
</c:if>
如果user.wealthy值true,则显示user.wealthy is true.
-----------------------------------------------------------
<c:choose>
<c:when test="${user.generous}">
user.generous is true.
</c:when>
<c:when test="${user.stingy}">
user.stingy is true.
</c:when>
<c:otherwise>
user.generous and user.stingy are false.
</c:otherwise>
</c:choose>
只有当条件user.generous返回值是true时,才显示user.generous is true.
只有当条件user.stingy返回值是true时,才显示user.stingy is true.
其它所有的情况(即user.generous和user.stingy的值都不为true)
全部显示user.generous and user.stingy are false
<c:choose>和<c:otherwise> 这两个标签不接受任何属性
<c:if>
test 需要评价的条件,相当于if (...){}语句中的条件,必要。
var 要求保存条件结果的变量名
scope 保存条件结果的变量范围,默认值:page
<c:when>
test 需要评价的条件,必要。
---------------------------------------------------------
<c:forTokens>
items 进行循环的项目,必要。
delims 分割符,必要。
begin 开始条件 默认值:0
end 结束条件
step 步长 默认值:1
var 代表当前项目的变量名
varStatus 显示循环状态的变量
<c:forTokens items="a:b:c:d" delims=":" var="token">
<c:out value="${token}"/>
</c:forTokens>
--------------------------------------------------------
<c:import>
url 需要导入页面的url ,必要。
context /后跟本地web应用程序的名字
charEncoding 用于导入数据的字符集 默认值:ISO-8859-1
var 接受导入文本的变量名 默认值:page
scope 接受导入文本的变量的变量范围 默认值:1
varReader 用于接受导入文本的java.io.Reader变量名
varStatus 显示循环状态的变量
<c:import url=" http://www.url.com/edit.js
将 http://www.url.com/edit.js
---------------------------------------------------------
<c:url>
url url地址,必要。
context /后跟本地web应用程序的名字
charEncoding 用于导入数据的字符集 默认值:ISO-8859-1
var 接受处理过的url变量名,该变量存储url
scope 存储url的变量名的变量范围 默认值:page
<a href="<c:url url="/index.jsp"/>"/>
---------------------------------------------------------
<c:redirect>
url url地址,必要。
context /后跟本地web应用程序的名字
<c:redirect url="http://www.yourname.com/login.jsp"/>
相当于response.setRedirect(" http://www.yourname.com/login.jsp
---------------------------------------------------------
<c:param>
name 在request参数中设置的变量名,必要。
value 在request参数中设置的变量值
<c:redirect url="login.jsp">
<c:param name="id" value="888"/>
</c:redirect>
将参数888以id为名字传递到login.jsp页面,相当于login.jsp?id=888
-----------------------------------------------------------
SQL相关的标签
1.<sql:setDataSource>
2.<sql:query>
3.<sql:update>
4.<transaction>
5.<param>
----------------------------------------------------------