- 浏览: 1329754 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (732)
- Java_about (146)
- Spring_Hibernate_Struts_OpenSource (27)
- linux_unix (62)
- life_sth (22)
- js_css_html_xml_nodejs (69)
- design_pattens (1)
- Perl (8)
- php_ecshop (4)
- DB_Mysql_Oracle_Informix_SqlServer (43)
- JSTL (8)
- Testing_自动化测试 (42)
- DB_ID_UUID (4)
- SEM_SEO (1)
- english_study_improvement (4)
- SVN_Git (9)
- WebService_SOA_CloudComputing (3)
- E-Commerce (1)
- Lucene_Solr (7)
- others (2)
- Regex (2)
- tomcat_jetty (8)
- zeroc-ice (1)
- java_excel (5)
- ant_maven_gradle (5)
- Unity_VR_AR_C# (2)
- jmeter (1)
- XPath_dom4j (1)
- Ruby_and_Rails (68)
- write_a_rails (17)
- manage_and_team (1)
- getting_real (1)
- ubuntu (20)
- git_and_git_flow (7)
- TODO (1)
- PM_design (2)
- Python_and_Django (8)
- NoSql_mongo_redis (24)
- C/C++ (3)
- vi_vim_gvim (0)
- c#_.Net_windows编程_dll (10)
- Php_and_Yii (9)
- Android_IOS (31)
- Mysql (5)
- sa_运维_network_硬件 (37)
- lua (2)
- c_cpp_VisualStudio (21)
- 硬件-RM-Arduino (6)
最新评论
-
shenkun58:
...
NoClassDefFoundError: Could not initialize springframework.BeanCreationException -
liaojia1:
正解,感谢
NoClassDefFoundError: Could not initialize springframework.BeanCreationException -
flingfox63:
谢谢分享,电脑上有IPV6,导致了Guard启动不了……
ruby错误解决: Address family not supported by protocol - connect(2) -
c39274936:
s = "hello_world_ruby" ...
驼峰格式和下划线格式转换_translation between camel and snake format -
yfj300:
学习了学习了学习了学习了
硬盘基本知识(磁道、扇区、柱面、磁头数、簇、MBR、DBR)
搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原作者!
------------------------------------------------
ttp://city-moon.iteye.com/blog/113858
-----------------------------------------------
JSTL详解(一)
一般用途的标签
在JSTL中,一般用途的标签只要是指具有输出,设置变量,和错误处理等功能的标签,他们在jsp中使用很频繁,它们有:
- l <c:out>
- 2 <c:set>
- 3 <c:remove>
- 4 <c: catch >
l <c:out> 2 <c:set> 3 <c:remove> 4 <c:catch>
下面,我来讲述一下他们的作用:
<c:out>
它是一个输出的标签,负责把计算出的结果输出到jspwriter,就跟调用out.println()基本一样。没有BODY的时候,使用下面的语法:
- <c:out value=”value” [escapeXml]=”{ true | false }” [ default =”defaultValue”]/>
<c:out value=”value” [escapeXml]=”{true|false}” [default=”defaultValue”]/>
有BODY的时候,使用下面的语法:
- <c:out value=”value” [escapeXml]=”{ true | false }” >
- 这里是BODY,可以是任何合法的jsp或者是html代码。
- </c:out>
<c:out value=”value” [escapeXml]=”{true|false}” > 这里是BODY,可以是任何合法的jsp或者是html代码。 </c:out>
注意,escapeXml的作用是是否将代码交给xml解析器解释,true为交给xml解析器解释,false为交给浏览器解释,见红色部分代码
- 举例:c_out.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL: c:out的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <hr>
- <c:set var="sessionAttr" value= "sessionValue" scope= "session" />
- <c:set var="pageAttr" value= "pageValue" scope= "page" />
- <c:set var="requestAttr" value= "requestValue" scope= "request" />
- <c:out value="以下输出的是前面设置的属性<br>" [color=red]escapeXml= "false" [/color]/>
- <c:out value="${sessionAttr}" />
- <c:out value="${pageAttr}" />
- <c:out value="${requestAttr}" />
- <c:out value="${test_nodef}" default = "没有test_nodef这个变量" />
- </html>
举例:c_out.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL: c:out的使用</title> </head> <body bgcolor="#FFFFFF"> <hr> <c:set var="sessionAttr" value="sessionValue" scope="session"/> <c:set var="pageAttr" value="pageValue" scope="page"/> <c:set var="requestAttr" value="requestValue" scope="request"/> <c:out value="以下输出的是前面设置的属性<br>" [color=red]escapeXml="false"[/color]/> <c:out value="${sessionAttr}"/> <c:out value="${pageAttr}"/> <c:out value="${requestAttr}"/> <c:out value="${test_nodef}" default="没有test_nodef这个变量"/> </html>
<c:set>
这个标签用于在某个范围(page,request,session,application)里面设置特定的值(默认为page),或者设置某
个已经存在的javabean的属性。类似于<%request.setAttribute(“name”,value)%>
语法:
1、使用value属性设置一个特定范围里面的属性:
<c:set value=”value” var=”varName” [scope= “{page|request|session|application}”]/ >
2、使用value属性设置一个特定范围里面的属性,带有BODY:
<c:set value=”value” var=”varName” [scope= “{page|request|session|application}”] >
Body content
</c:set>
3、设置某个特定对象的一个属性:
<c:set value=”value” target=”target” property=”propertyName”/ >
4、设置某个特定对象的一个属性, 带有BODY:
<c:set value=”value” target=”target” property=”propertyName” >
Body content
</c:set>
- 举例:c_set.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <jsp:useBean id="user" class = "com.j2ee14.ch12.User" />
- <html>
- <head>
- <title>JSTL:的使用c:set</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <hr>
- 设置一个属性,然后输出它<br>
- <c:set var="maxCount" value= "100" />
- <c:out value="${maxCount}" />
- <hr>设置属性时,把它的值放在标签的body中。
- <c:set var="password" >
- ksdjfxsdf234234
- </c:set>
- <c:out value="${password}" />
- <hr>设置javaBean的属性,然后输出这些属性值:
- <c:set value="hellking" target= "${user}" property= "userName" />
- userName=<c:out value="${user.userName}" />
- <hr>设置属性,并且指定它们的范围,属性的默认范围是page。
- <c:set value="20" var= "maxIdelTime" scope= "session" />
- <c:set value="next.jsp" var= "nextPage" scope= "page" />
- </body>
- </html>
举例:c_set.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <jsp:useBean id="user" class="com.j2ee14.ch12.User"/> <html> <head> <title>JSTL:的使用c:set</title> </head> <body bgcolor="#FFFFFF"> <hr> 设置一个属性,然后输出它<br> <c:set var="maxCount" value="100"/> <c:out value="${maxCount}"/> <hr>设置属性时,把它的值放在标签的body中。 <c:set var="password"> ksdjfxsdf234234 </c:set> <c:out value="${password}"/> <hr>设置javaBean的属性,然后输出这些属性值: <c:set value="hellking" target="${user}" property="userName"/> userName=<c:out value="${user.userName}"/> <hr>设置属性,并且指定它们的范围,属性的默认范围是page。 <c:set value="20" var="maxIdelTime" scope="session"/> <c:set value="next.jsp" var="nextPage" scope="page"/> </body> </html>
<c:remove>
它的作用是删除某个变量或者属性。类似于<%session.removeAttribute(“name”)%>,它的语法是:
<c:remove var=”varName” [scope= “{page|request|session|application}”]/ >
- 举例:c_remove.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL:c:remove的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:set value="10000" var= "maxUser" scope= "application" />
- <c:set value="10" var= "count" scope= "session" />
- maxUser=<c:out value="${maxUser}" /><br>
- count=<c:out value="${count}" />
- <hr>调用c:remove...
- <c:remove var="maxUser" scope= "application" />
- <c:remove var="count" />
- 调用了c:remove后,参数值为:
- maxUser=<c:out value="${maxUser}" />,
- count=<c:out value="${count}" />,
- </body>
- </html>
举例:c_remove.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:c:remove的使用</title> </head> <body bgcolor="#FFFFFF"> <c:set value="10000" var="maxUser" scope="application"/> <c:set value="10" var="count" scope="session"/> maxUser=<c:out value="${maxUser}"/><br> count=<c:out value="${count}"/> <hr>调用c:remove... <c:remove var="maxUser" scope="application"/> <c:remove var="count"/> 调用了c:remove后,参数值为: maxUser=<c:out value="${maxUser}"/>, count=<c:out value="${count}"/>, </body> </html>
JSTL详解(二)
<c:catch>
它的作用是捕捉由嵌套在它里面的标签所抛出来的异常。类似于<%try{}catch{}%>,它的语法是:
<c:catch [var=”varName”]>nested actions</c:catch>
- 举例:c_catch.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL:catch 的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:catch var= "error" >
- <%
- Integer.parseInt("sdkfj" );
- %>
- </c:catch >
- <hr>异常:
- <c:out value="${error}" />
- <hr>异常 exception.getMessage=
- <c:out value="${error.message}" />
- <hr> 异常exception.getCause=
- <c:out value="${error.cause}" />
- </body>
- </html>
举例:c_catch.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:catch的使用</title> </head> <body bgcolor="#FFFFFF"> <c:catch var="error"> <% Integer.parseInt("sdkfj"); %> </c:catch> <hr>异常: <c:out value="${error}"/> <hr>异常 exception.getMessage= <c:out value="${error.message}"/> <hr> 异常exception.getCause= <c:out value="${error.cause}"/> </body> </html>
JSTL详解(三)
条件标签包括以下几种:
l <c:if>;
2 <c:choose>;
3 <c:when>;
4 <c:otherwise>;
下面,我来分别介绍:
l.<c:if>; 它用来做条件判断,功能类似jsp中的<%if(boolean){}%>
语法:
1、无body的情况
<c:if test=”testCondition” var=”varName” [scope=“{page|request|session|application}”]/>
2、有body的情况
<c:if test=”testCondition” var=”varName” [scope=“{page|request|session|application}”]>
Body内容
</c:if>
- 举例:c_if.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL:c:if 的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:set var="count" value= "100" />
- <c:if test= "${count>78}" >
- count>78
- </c:if >
- </body>
- </html>
举例:c_if.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:c:if的使用</title> </head> <body bgcolor="#FFFFFF"> <c:set var="count" value="100"/> <c:if test="${count>78}"> count>78 </c:if> </body> </html>
2.<c:choose>;
它是用于条件选择,和<c:when>,<c:otherwise>一起使用,它的条件选择是排斥性的,相当于jsp中
的<%switch(i){case 0: … case 1:… default :}%>,也可以完成<%if{}…else
if{}….else if{} else{} %>的功能
语法:<c:choose>
Body内容(<c:when>,<c:otherwise>)
</c:choose>
注意:它的body内容只能是由以下的元素组成:
1.空格;
2.0个或多个<c:when>子标签,<c:when>必须在<c:otherwise>子标签之前出现;
3.0个或多个<c: otherwise >子标签
<c:when> 它是<c:choose>的一个分支
语法:
<c:when test=”testCondition”>
Body内容
</c:when>
注意:它有两个限制:
1.必须以<c:choose>作为它的父标签
2.必须在<c:otherwise>标签之前出现
<c:otherwise>他代表了<c:choose>的最后选择相当于jsp的<%switch(i){case 0: … case 1:… default :}%> 中的default语句。
语法:
<c:otherwise>
Conditional block
</c:otherwise>
它的使用有两个限制:
1.必须以<c:choose>作为它的父标签;
2.必须以<c:choose>的最后分支方式出现;
<c:choose>,<c:otherwise>,<c:when>
- 举例:c_choose.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <c:set var="count" value= "100" />
- <html>
- <head>
- <title>JSTL:c:choose的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:choose>
- <c:when test="${count <=0}" >
- <font color="blue" >
- </c:when>
- <c:when test="${count<=60&&count>0}" >
- <font color="red" >
- </c:when>
- <c:otherwise>
- <font color="green" >
- </c:otherwise>
- </c:choose>
- count的值是:<c:out value="${count}" />
- </font>
- </body>
- </html>
举例:c_choose.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <c:set var="count" value="100"/> <html> <head> <title>JSTL:c:choose的使用</title> </head> <body bgcolor="#FFFFFF"> <c:choose> <c:when test="${count <=0}"> <font color="blue"> </c:when> <c:when test="${count<=60&&count>0}"> <font color="red"> </c:when> <c:otherwise> <font color="green"> </c:otherwise> </c:choose> count的值是:<c:out value="${count}"/> </font> </body> </html>
JSTL详解(四)
迭代标签的使用
如果使用scriptlets,那么,我们经常使用Iterator或者Enumeration来进行迭代,如:
Iterator it = collection.iterator();
while(it.hasNext()){
SomeBean someBean = (SomeBean)it.next();
out.println(someBean.getXXX());
…………..
}
在前面的一次中,我们开发过一个迭代标签,JSTL中也提供了对迭代进行支持的标签,并且,他的功能比上一章的强大的多。JSTL中的迭代标签有两个:
1.<c:forEach>;
2.<c:forTokens>;
1、<c:forTokens>专门处理TokenString的迭代,可以指定一个或者是多个分隔符。由于他们使用的很少,在这里就不介绍了。
2、<c:forEach>是最常用的,他几乎能够完成所有的迭代任务,就象jsp中的for(int i=j;i<k;i++)下面我来详细介绍。(注意,“[]”里面的是可选条件)
语法:a、在Collection中迭代:
<c:forEach [var=”varName”] items=”collection”
[varStatus=”varStatusName”] [begin=”begin”] [end=”end”]
[step=”step”]>
Body 内容
</c:forEach>
b、迭代固定的次数:
<c:forEach [var=”varName”] [varStatus=”varStatusName”] begin=”begin” end=”end” [step=”step”]>
Body 内容
</c:forEach>
- 举例:c_forEach1.jsp(在Collection中迭代)
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <%@ page import = "java.util.*,com.j2ee14.ch12.User" %>
- <%
- Collection users_c=new ArrayList();
- for ( int i= 0 ;i< 3 ;i++)
- {
- User user=new User();
- user.setUserName("foo" +i);
- user.setPassword("foo" +i);
- users_c.add(user);
- }
- session.setAttribute("users" ,users_c);
- %>
- <html>
- <head>
- <title>JSTL:c:forEach的使用之一</title>
- </head>
- <body bgcolor="#FFFFFF" ><center>
- <h4>迭代某个collection中的元素。</h4>
- <table border=1 >
- <tr><td>用户名</td><td>密码</td></tr>
- <c:forEach var="users" items= "${users}" >
- <tr>
- <td><c:out value="${users.userName}" /></td>
- <td><c:out value="${users.password}" /></td>
- </tr>
- </c:forEach>
- </table>
- </center>
- </body>
- </html>
举例:c_forEach1.jsp(在Collection中迭代) <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <%@ page import="java.util.*,com.j2ee14.ch12.User"%> <% Collection users_c=new ArrayList(); for(int i=0;i<3;i++) { User user=new User(); user.setUserName("foo"+i); user.setPassword("foo"+i); users_c.add(user); } session.setAttribute("users",users_c); %> <html> <head> <title>JSTL:c:forEach的使用之一</title> </head> <body bgcolor="#FFFFFF"><center> <h4>迭代某个collection中的元素。</h4> <table border=1> <tr><td>用户名</td><td>密码</td></tr> <c:forEach var="users" items="${users}"> <tr> <td><c:out value="${users.userName}"/></td> <td><c:out value="${users.password}"/></td> </tr> </c:forEach> </table> </center> </body> </html>
- 举例:c_forEach2.jsp(迭代固定的次数)
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <tcounttle>JSTL:c:forEach的使用之二</tcounttle>
- </head>
- <body bgcolor="#FFFFFF" ><center>
- <h4>第二种迭代:50 - 60 </h4>
- <c:forEach var="count" begin= "50" end= "60" >
- <c:out value="${count}" /> **
- </c:forEach>
- <h4>第二种迭代:10 to 100 ,step= 10 </h4>
- <c:forEach var="count" begin= "10" end= "100" step= "10" >
- <c:out value="${count}" />**
- </c:forEach>
- </center>
- </body>
- </html>
举例:c_forEach2.jsp(迭代固定的次数) <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <tcounttle>JSTL:c:forEach的使用之二</tcounttle> </head> <body bgcolor="#FFFFFF"><center> <h4>第二种迭代:50-60</h4> <c:forEach var="count" begin="50" end="60"> <c:out value="${count}"/> ** </c:forEach> <h4>第二种迭代:10 to 100,step=10</h4> <c:forEach var="count" begin="10" end="100" step="10"> <c:out value="${count}"/>** </c:forEach> </center> </body> </html>
JSTL详解(五)
首先,感谢大家的关注,下面我来继续讲解:URL相关的标签,他们的作用主要是负责页面的导航、重定向、资源的获得以及参数的传递等等,他们有:
1.<c:import>
2.<c:redirect>
3.<c:url>
4.<c:param>
<c:import>
作用:导入一个url的资源,相当于jsp 中的<jsp:include page=”path”>标签,同样也可以把参数传递到被导入的页面。
语法:a、资源的内容使用string对象向外暴露
<c:import url=”url” [context=”context”] [var=”varName”]
[scope=”{page|request|session|application}”]
[charEncoding=”charEncoding”]>
Optional body content for <c:param> subtags
</c:import>
b、资源的内容使用redirect对象向外暴露
<c:import url=”url” [context=”context”] varReader=”varReaderName” [charEncoding=”charEncoding”]>
Body content where varReader is consumed by another action
</c:import>
- 举例:c_import.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL:c:import 的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <h3>绝对路径 URL</h3>
- <blockquote>
- <ex:escapeHtml>
- <c:import url= "http://127.0.0.1:8080/ch12/footer.jsp" />
- </ex:escapeHtml>
- </blockquote>
- <h3>相对路径并且传递参数到指定的URL</h3>
- <blockquote>
- <c:import url= "footer.jsp" charEncoding= "gb2312" >
- <c:param name="userName" value= "hellking" />
- </c:import >
- </blockquote>
- </body>
- </html>
举例:c_import.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:c:import的使用</title> </head> <body bgcolor="#FFFFFF"> <h3>绝对路径 URL</h3> <blockquote> <ex:escapeHtml> <c:import url="http://127.0.0.1:8080/ch12/footer.jsp"/> </ex:escapeHtml> </blockquote> <h3>相对路径并且传递参数到指定的URL</h3> <blockquote> <c:import url="footer.jsp" charEncoding="gb2312"> <c:param name="userName" value="hellking"/> </c:import> </blockquote> </body> </html>
<c:redirect>
作用:把客户的请求发送到另一个资源,相当于jsp中的<% request.sendRedirect(“other.jsp”)%>或者servlet中的RequestDispatch.forward(“other.jsp”)的功能。
语法:a、没有body的情况
<c:redirect url=”value” [context=”context”]/>
b、有body,在body 中查询指定的参数
<c:redirect url=”value” [context=”context”]>
<c:param> subtags
</c:redirect>
- 举例:c:redirect.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL:c:redirect的使用</title>
- </head>
- <body bgcolor="#cc99cc" >
- <c:url value="footer.jsp" var= "nextpage" >
- <c:param name="userName" value= "hellking" />
- </c:url>
- <c:redirect url="${nextpage}" />
- </body>
- </html>
举例:c:redirect.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL:c:redirect的使用</title> </head> <body bgcolor="#cc99cc"> <c:url value="footer.jsp" var="nextpage"> <c:param name="userName" value="hellking"/> </c:url> <c:redirect url="${nextpage}"/> </body> </html>
<c:url>
作用:用于构造URL,主要的用途是URL的重写。
语法:a、没有body的情况
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session|application}”]/>
b、有body ,并在body 中有重写的参数
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session|application}”]>
<c:param> subtags
</c:url>
- 举例:c_url.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jsp/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL c:url 的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:url var="footer" value= "footer.jsp" scope= "page" >
- <c:param name="id" value= "hellking" />
- </c:url>
- <c:out value="${footer}" />
- <br>另一种没有参数的URL<br>
- <c:url value="footer.jsp" />
- </body>
- </html>
举例:c_url.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL c:url 的使用</title> </head> <body bgcolor="#FFFFFF"> <c:url var="footer" value="footer.jsp" scope="page"> <c:param name="id" value="hellking"/> </c:url> <c:out value="${footer}"/> <br>另一种没有参数的URL<br> <c:url value="footer.jsp"/> </body> </html>
<c:param>
作用:它是在<c:import>,<c:redirectt>,<c:url>中添加请求的参数。和一般的参数没什么区别。
语法:a、参数的值使用value属性指定
<c:param name=”name” value=”value”/>
b、参数的值在body 中指定
<c:param name=”name”>
参数值
</c:param>
- 举例:c_param.jsp
- <%@ taglib prefix="c" uri= "http://java.sun.com/jstl/core" %>
- <%@ page contentType="text/html; charset=gb2312" language= "java" %>
- <html>
- <head>
- <title>JSTL c:param的使用</title>
- </head>
- <body bgcolor="#FFFFFF" >
- <c:redirect url="footer.jsp" >
- <c:param name="userName" >
- hellking
- </c:param>
- </c:redirect>
- </body>
- </html>
举例:c_param.jsp <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ page contentType="text/html; charset=gb2312" language="java" %> <html> <head> <title>JSTL c:param的使用</title> </head> <body bgcolor="#FFFFFF"> <c:redirect url="footer.jsp"> <c:param name="userName"> hellking </c:param> </c:redirect> </body> </html>
JSTL详解(六) 格式化标签
<fmt: formatNumber value =”12.3” pattern=”.000”/>
将输出 12.300. 应用样式 ”.000”, 将使格式化后的小数部分有 3 位。不足 3 位将以 0 补齐。
<fmt:formatDate value=”<%=new java.util.Date() %>” type=”date” pattern="yyyy/M/d" />
格式化的结果是: 2007-5-27 .
<fmt:formatDate value=”<%=new java.util.Date() %>” type=”time” pattern="hh:mm:ss"/>
格式化的结果是: 9:25:11
<fmt:formatDate value=”<%=new java.util.Date() %>” type=”both” />
格式化的结果是: 2007-5-27 9:25:11
- 举例:详细的使用如下例
- <c:set var="now" value= "<%=new java.util.Date()%>" />
- <table border="1" cellpadding= "0" cellspacing= "0"
- style="border-collapse: collapse" bordercolor= "#111111" width= "63%" id= "AutoNumber2" >
- <tr>
- <td width="100%" colspan= "2" bgcolor= "#0000FF" >
- <p align="center" >
- <b><font color="#FFFFFF" size= "4" >
- Formatting:<fmt:formatDate value="${now}" type= "both" timeStyle= "long" dateStyle= "long" />
- </font>
- </b>
- </p>
- </td>
- </tr>
- <tr>
- <td width="51%" >formatDate type= "time" </td>
- <td width="49%" >
- <fmt:formatDate type="time" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >type= "date" </td>
- <td width="49%" ><fmt:formatDate type= "date" value= "${now}" /></td>
- </tr>
- <tr>
- <td width="51%" >type= "both" </td>
- <td width="49%" ><fmt:formatDate type= "both" value= "${now}" /></td>
- </tr>
- <tr>
- <td width="51%" >type= "both" dateStyle= "default" timeStyle= "default" </td>
- <td width="49%" >
- <fmt:formatDate type="both" dateStyle= "default" timeStyle= "default" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >type= "both" dateStyle= "short" timeStyle= "short" </td>
- <td width="49%" >
- <fmt:formatDate type="both" dateStyle= "short" timeStyle= "short" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >type= "both" dateStyle= "medium" timeStyle= "medium" </td>
- <td width="49%" >
- <fmt:formatDate type="both" dateStyle= "medium" timeStyle= "medium" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >type= "both" dateStyle= "long" timeStyle= "long" </td>
- <td width="49%" >
- <fmt:formatDate type="both" dateStyle= "long" timeStyle= "long" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >type= "both" dateStyle= "full" timeStyle= "full" </td>
- <td width="49%" >
- <fmt:formatDate type="both" dateStyle= "full" timeStyle= "full" value= "${now}" />
- </td>
- </tr>
- <tr>
- <td width="51%" >pattern= "yyyy-MM-dd" </td>
- <td width="49%" ><fmt:formatDate pattern= "yyyy-MM-dd" value= "${now}" /></td>
- </tr>
- </table>
举例:详细的使用如下例 <c:set var="now" value="<%=new java.util.Date()%>" /> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="63%" id="AutoNumber2"> <tr> <td width="100%" colspan="2" bgcolor="#0000FF"> <p align="center"> <b><font color="#FFFFFF" size="4"> Formatting:<fmt:formatDate value="${now}" type="both" timeStyle="long" dateStyle="long" /> </font> </b> </p> </td> </tr> <tr> <td width="51%">formatDate type="time"</td> <td width="49%"> <fmt:formatDate type="time" value="${now}" /> </td> </tr> <tr> <td width="51%">type="date"</td> <td width="49%"><fmt:formatDate type="date" value="${now}" /></td> </tr> <tr> <td width="51%">type="both"</td> <td width="49%"><fmt:formatDate type="both" value="${now}" /></td> </tr> <tr> <td width="51%">type="both" dateStyle="default" timeStyle="default"</td> <td width="49%"> <fmt:formatDate type="both" dateStyle="default" timeStyle="default" value="${now}" /> </td> </tr> <tr> <td width="51%">type="both" dateStyle="short" timeStyle="short"</td> <td width="49%"> <fmt:formatDate type="both" dateStyle="short" timeStyle="short" value="${now}" /> </td> </tr> <tr> <td width="51%">type="both" dateStyle="medium" timeStyle="medium"</td> <td width="49%"> <fmt:formatDate type="both" dateStyle="medium" timeStyle="medium" value="${now}" /> </td> </tr> <tr> <td width="51%">type="both" dateStyle="long" timeStyle="long"</td> <td width="49%"> <fmt:formatDate type="both" dateStyle="long" timeStyle="long" value="${now}" /> </td> </tr> <tr> <td width="51%">type="both" dateStyle="full" timeStyle="full"</td> <td width="49%"> <fmt:formatDate type="both" dateStyle="full" timeStyle="full" value="${now}" /> </td> </tr> <tr> <td width="51%">pattern="yyyy-MM-dd"</td> <td width="49%"><fmt:formatDate pattern="yyyy-MM-dd" value="${now}" /></td> </tr> </table>
补充知识点:
1. 替换 request.getParameter("test"):
<c:if test="${param.test!=null}" >
<c:out value="${param.test}" />
</c:if>
2. <c:redirect url="a.jsp">
3.<c:redirect url="/max.jsp" context="/ch16">
<c:param name="name1" value="665"/>
<c:param name="name3" value=" 斯蒂芬 "/>
</c:redirect>
4.<c:forTokens items="zhangsan:lisi:as" delims=":" var="name">
${name}
</c:forTokens>
JSTL详解(七) SQL相关的标签
今天,我来讲解下一些很重要的jstl标签,如果运用得当,可以大大的简化数据库的操作,减少代码量。首先sql标签可以实现包括查询、更新、事务处理和设置数据源等强大的功能。下面分别讲述。
<sql:setDataSource>
<sql:query>
<sql:update>
<sql:transaction>
<sql:param>
<sql:setDataSource>
语法:<sql:setDataSource>用来设置数据源,可以通过scope设置使用范围,如page、
application、session等。有两种方式可以设置数据源,一种是直接使用在web中配置的数据源,只要指定jndi名就可以了(这个就不要
我多讲了吧,呵呵),第二种是指定所有的连接属性。
<sql:setDataSource
{dataSource=”dataSourceName” | url=”jdbcurl”
[driver=”driverClassName”]
[user=”userName”]
[password=”password”]
[var=”varName”]
[scope=”{page|session|request|application}”]/>
发表评论
-
FreeMarker的优点和缺点
2012-07-13 14:39 0FreeMarker的优点和缺 ... -
JSTL学习总结和整理(七)JSTL标签小结
2010-05-27 14:31 1200搜集的资料,适当编辑 ... -
JSTL学习总结和整理(五)JSTL-C标签-核心标签2
2010-05-27 12:51 2251搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原 ... -
JSTL学习总结和整理(四)JSTL-C标签-核心标签
2010-05-27 12:38 3332搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原 ... -
JSTL学习总结和整理(三)JSTL初探
2010-05-27 12:34 1461搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ... -
JSTL学习总结和整理(二)EL表达式和JSTL
2010-05-27 12:26 1944搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ... -
JSTL学习总结和整理(零)开题
2010-05-27 12:17 1251欠下的债,迟早要还的~ 原来总是不重视前端展现部分,导致很多 ... -
JSTL学习总结和整理(一)争论
2010-05-27 12:09 1484搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ...
相关推荐
- **可读性**:JSTL标签的语法更接近自然语言,提高了代码的可读性。 - **重用性**:标签可以封装常用的功能,提高代码复用。 - **性能提升**:JSTL在编译时会转换成Java代码,减少了运行时的解释开销。 在实际应用...
JSTL(JavaServer Pages Standard Tag Library)是一种用于JSP页面的标准标签库,它提供了许多实用的标签,简化了JSP开发,其中包括对集合操作的支持。在这个个人整理的知识点中,主要关注的是JSTL如何处理`Map`集合...
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
### JSTL标签详解 #### 1. `<c:forEach>`标签 `<c:forEach>`标签用于遍历集合或数组中的元素。例如,在给定的部分内容中,可以看到对`payerPayeeInfoMap`这个Map类型的变量进行遍历的过程: ```jsp ${...
通过以上介绍,我们可以看到JSTL标签库的强大之处在于它极大地简化了JSP页面的编程工作,使得开发者能够更加专注于业务逻辑的实现,而无需过多关注底层细节。掌握JSTL的核心标签库,对于提高Java Web项目的开发效率...
EL表达式语言主要用于简化Java Servlets和JSP页面中的数据访问,而JSTL则提供了一套丰富的标签库,帮助开发者更高效地处理常见任务。 EL表达式: 1. EL是一种简洁的脚本语言,用于获取和设置JavaBeans或其他可绑定...
4. **笔记**:可能是作者在学习过程中整理的要点和难点,包括理解EL和JSTL的关键点、常见问题及解决方案。 5. **代码**:可能包含示例代码,演示了EL和JSTL的用法,这些代码可以作为学习者参考和实践的模板。 通过...
包含jstl.jar 和 standard.jar两个jar包,用于学习JSP中的JSTL,何为JSTL;指的是 JSP Standard Tag Library,即JSP标准标签库。 此文件为jstl 1.2 版本,因为版本比较老,资源不好找,为了方便各位友友学习,整理...
fmt标签库是JSTL中用于国际化的标签库,它支持i18n(国际化)格式标准,为Web应用提供了数字、日期和消息等的格式化和解析功能。 fmt标签库包含以下三类标签: 1. 数字日期格式化标签 - 标签:根据区域设置或者...
"JavaWeb学习总结共9页.pdf.zip"这个文件很可能是某位开发者或者教师整理的一份详尽的学习笔记,旨在帮助初学者或进阶者系统地理解和掌握JavaWeb的核心概念和技术。 首先,JavaWeb开发的基础是Java Servlet,它是...
3. **JavaServer Pages (JSP) 标准标签库 (JSTL)**:JSTL提供了标准的标签来简化JSP页面的编写,避免过多的脚本let和表达式,提高代码可读性。 4. **JavaBeans**:JavaBeans是一种组件模型,用于封装业务逻辑。了解...
本综合整理的**jsp课件**旨在为初学者提供一个系统性的学习路径,内容涵盖了JSP的基础概念、语法特性、生命周期、指令元素、脚本元素、动作元素以及与其他Java Web技术如Servlet、JSTL、EL表达式等的协同工作。...
在编程领域,自定义标签(Tag)是一种常见的技术,特别是在Java服务器端开发中,例如JSP自定义标签库(Custom Tags)或者Spring MVC中的...在实践中,不断学习和优化自定义标签的使用,能够提升开发效率和软件质量。
JavaEE基础知识整理涵盖了JavaEE技术框架的各个方面,包括Servlet、MVC设计模式、连接池、JavaBean、JSTL、自定义标签和EL表达式等。-mastering these concepts is essential for any JavaEE developer.
通常,JSP标签分为两种类型:自定义标签和标准标签库(JSTL)。自定义标签是开发者根据需求定义的,可以封装复杂的业务逻辑;而JSTL则是一套预定义的标签,包括了XML处理、数据库操作、国际化等功能。 【标签】...
pio + itext 生成报表 几大框架问题 Struts2常用标签总结等 Word文件">包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE ...
Java Web开发是构建基于互联网应用程序的关键技术,尤其在企业级应用中广泛应用。这份"JavaWEB基础知识整理...这份"JavaWEB基础知识整理.docx"文档应该会详细阐述这些概念,并提供实例和最佳实践,帮助学习者快速上手。