- 浏览: 1330221 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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://kdboy.iteye.com/blog/564881
-----------------------------------------------
Taglib 伪指令
- <%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix= "c" %>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix= "fmt" %>
- <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix= "fn" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
输出<c:out>
语法:
- <c:out value= "expression" default = "expression" escapeXml= "boolean" />
<c:out value="expression" default="expression" escapeXml="boolean"/>
说明:
该标记对由其 value 属性指定的表达式进行求值,然后打印结果。如果指定了可选属性 default,那么,在对 value 属性的表达式求值所得结果为 null 或空 String 的情况下,<c:out> 将打印其值。
escapeXml 属性也是可选的。它控制当用 <c:out>
标记输出诸如“<”、“>”和“&”之类的字符(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将
escapeXml 设置为 true,则会自动将这些字符转换成相应的 XML 实体(此处提到的字符分别转换成
<、> 和 &)。
例:
- <c:out value= "${user.company}" escapeXml== "false" />
<c:out value="${user.company}" escapeXml=="false"/>
赋值<c:set>
语法:
- <c:set var= "name" scope= "scope" value= "expression" />
<c:set var="name" scope="scope" value="expression"/>
说明:
<c:set> 操作提供基于标记的机制来创建和设置限制了作用域的变量。其中 var
属性指定了限制了作用域的变量的名称,scope 属性表明了该变量驻留在哪个作用域中,value
属性指定了分配给该变量的值。如果指定变量已经存在,则简单地将所指明的值赋给它。如果不存在,则创建新的限制了作用域的变量,并用该值初始化这个变量。
scope 属性是可选的,其缺省值是 page。
例:
- <c:set var= "timezone" scope= "session" value= "CST" />
- <c:set var="square" value= "${param['x'] * param['x']}" />
<c:set var="timezone" scope="session" value="CST"/> <c:set var="square" value="${param['x'] * param['x']}"/>
循环
语法:
- <c:forEach var= "name" items= "expression"
- varStatus="name" begin= "expression"
- end="expression" step= "expression" >
- body content
- </c:forEach>
<c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression"> body content </c:forEach>
说明:
begin 和 end 属性要么是静态整数值,要么是可以得出整数值的表达式。它们分别指定迭代索引的初始值以及迭代索引的终止值。当使用 <c:forEach> 在整数范围内进行迭代时,这两个属性是必需的,而其它所有属性都是可选的。
当出现 step 时,它也必须是整数值。它指定每次迭代后索引的增量。
如果指定了 var 属性,那么将会创建一个带有指定名称的并限定了作用域的变量,并将每次迭代的当前索引值赋给该变量。
items 属性的值应该是一个集合,对该集合的成员进行迭代,通常使用 EL 表达式指定值。
和 var 属性一样, varStatus 用于创建限定了作用域的变量。不过,由 varStatus 属性命名的变量并不存储当前索引值或当前元素,而是赋予 javax.servlet.jsp.jstl.core.LoopTagStatus 类的实例。
例:
- <table>
- <c:forEach items=
- "${entryList}" var= "blogEntry" varStatus= "status" >
- <tr><td align="left" class = "blogTitle" >
- <c:out value="${status.count}" />.
- <c:out value="${blogEntry.title}" escapeXml= "false" />
- </td></tr>
- <tr><td align="left" class = "blogText" >
- <c:out value="${blogEntry.text}" escapeXml= "false" />
- </td></tr>
- </c:forEach>
- </table>
<table> <c:forEach items= "${entryList}" var="blogEntry" varStatus="status"> <tr><td align="left" class="blogTitle"> <c:out value="${status.count}"/>. <c:out value="${blogEntry.title}" escapeXml="false"/> </td></tr> <tr><td align="left" class="blogText"> <c:out value="${blogEntry.text}" escapeXml="false"/> </td></tr> </c:forEach> </table>
If判断
语法:
- <c: if test= "expression" var= "name" scope= "scope" >
- body content
- </c:if >
<c:if test="expression" var="name" scope="scope"> body content </c:if>
说明:
测试表达式(test属性值)进行求值,接下来,仅当对表达式求出的值为 true 时,它才处理标记的主体内容
<c:if> 通过其 var 和 scope 属性(它们所起的作用和在 <c:set> 中所起的作用一样)选择将测试结果赋给限定了作用域的变量。
例:
- <table>
- <c:forEach items=
- "${entryList}" var= "blogEntry" varStatus= "status" >
- <c:if test= "${status.first}" >
- <tr><td align="left" class = "blogDate" >
- <c:out value="${blogEntry.created}" />
- </td></tr>
- </c:if >
- <tr><td align="left" class = "blogTitle" >
- <c:out value="${blogEntry.title}" escapeXml= "false" />
- </td></tr>
- <tr><td align="left" class = "blogText" >
- <c:out value="${blogEntry.text}" escapeXml= "false" />
- </td></tr>
- </c:forEach>
- </table>
<table> <c:forEach items= "${entryList}" var="blogEntry" varStatus="status"> <c:if test="${status.first}"> <tr><td align="left" class="blogDate"> <c:out value="${blogEntry.created}"/> </td></tr> </c:if> <tr><td align="left" class="blogTitle"> <c:out value="${blogEntry.title}" escapeXml="false"/> </td></tr> <tr><td align="left" class="blogText"> <c:out value="${blogEntry.text}" escapeXml="false"/> </td></tr> </c:forEach> </table>
Choose操作语法
语法:
- <c:choose>
- <c:when test="expression" >
- body content
- </c:when>
- ...
- <c:otherwise>
- body content
- </c:otherwise>
- </c:choose>
<c:choose> <c:when test="expression"> body content </c:when> ... <c:otherwise> body content </c:otherwise> </c:choose>
说明:
每个要测试的条件都由相应的 <c:when> 标记来表示,至少要有一个 <c:when>
标记。只会处理第一个其 test 值为 true 的 <c:when> 标记体内的内容。如果没有一个 <c:when>
测试返回 true ,那么会处理 <c:otherwise> 标记的主体内容。
例:
- <c:choose>
- <c:when test="${pageContext.request.scheme eq 'http'}" >
- This is an insecure Web session.
- </c:when>
- <c:when test="${pageContext.request.scheme eq 'https'}" >
- This is a secure Web session.
- </c:when>
- <c:otherwise>
- You are using an unrecognized Web protocol. How did this happen?!
- </c:otherwise>
- </c:choose>
<c:choose> <c:when test="${pageContext.request.scheme eq 'http'}"> This is an insecure Web session. </c:when> <c:when test="${pageContext.request.scheme eq 'https'}"> This is a secure Web session. </c:when> <c:otherwise> You are using an unrecognized Web protocol. How did this happen?! </c:otherwise> </c:choose>
<c:url> 操作的语法
语法:
- <c:url value= "expression" context= "expression" var= "name" scope= "scope" >
- <c:param name="expression" value= "expression" />
- ...
- </c:url>
<c:url value="expression" context="expression" var="name" scope="scope"> <c:param name="expression" value="expression"/> ... </c:url>
说明:
<c:url> 标记,用于生成 URL。
value 属性用来指定基本 URL,然后在必要时标记对其进行转换。如果这个基本 URL 以一个斜杠开始,那么会在它前面加上
servlet 的上下文名称。可以使用 context 属性提供显式的上下文名称。如果省略该属性,那么就使用当前 servlet
上下文的名称。这一点特别有用,因为 servlet 上下文名称是在部署期间而不是开发期间决定的。(如果这个基本 URL
不是以斜杠开始的,那么就认为它是一个相对 URL,这时就不必添加上下文名称。)
如果通过嵌套 <c:param> 标记指定了任何请求参数,那么将会使用 HTTP GET
请求的标准表示法将它们的名称和值添加到生成的 URL 后面。此外,还进行 URL 编码:为了生成有效的
URL,将对这些参数的名称或值中出现的任何字符适当地进行转换。
例:
- <a href= "<c:url value='/content/sitemap.jsp'/>" >View sitemap</a>
- <c:url value="/content/search.jsp" >
- <c:param name="keyword" value= "${searchTerm}" />
- <c:param name="month" value= "02/2003" />
- </c:url>
<a href="<c:url value='/content/sitemap.jsp'/>">View sitemap</a> <c:url value="/content/search.jsp"> <c:param name="keyword" value="${searchTerm}"/> <c:param name="month" value="02/2003"/> </c:url>
<c:redirect> 操作的语法
语法:
- <c:redirect url= "expression" context= "expression" >
- <c:param name="expression" value= "expression" />
- ...
- </c:redirect>
<c:redirect url="expression" context="expression"> <c:param name="expression" value="expression"/> ... </c:redirect>
说明:
<c:redirect>用于向用户的浏览器发送 HTTP 重定向响应,它是 JSTL 中与 javax.servlet.http.HttpServletResponse 的 sendRedirect() 方法功能相当的标记。
例:
- <c: catch var= "exception" >
- <c:import url= "ftp://ftp.example.com/package/README" />
- </c:catch >
- <c:if test= "${not empty exception}" >
- <c:redirect url="/errors/remote.jsp" />
-
</c:if
>
forTokens 标签:
属性:
- items:指定要迭代的集合或数组
- Delims:指定分隔符
示例6:
- <c:set var= "name" value= "jerry:andy|Tom" scope= "request" />
- <c:forTokens items="${name}" delims= ":|" var= "myname" >
- ${myname }<br>
- </c:forTokens>
发表评论
-
FreeMarker的优点和缺点
2012-07-13 14:39 0FreeMarker的优点和缺 ... -
JSTL学习总结和整理(七)JSTL标签小结
2010-05-27 14:31 1202搜集的资料,适当编辑 ... -
JSTL学习总结和整理(六)JSTL标签全集
2010-05-27 13:38 1195搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原 ... -
JSTL学习总结和整理(五)JSTL-C标签-核心标签2
2010-05-27 12:51 2254搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原 ... -
JSTL学习总结和整理(三)JSTL初探
2010-05-27 12:34 1463搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ... -
JSTL学习总结和整理(二)EL表达式和JSTL
2010-05-27 12:26 1946搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ... -
JSTL学习总结和整理(零)开题
2010-05-27 12:17 1252欠下的债,迟早要还的~ 原来总是不重视前端展现部分,导致很多 ... -
JSTL学习总结和整理(一)争论
2010-05-27 12:09 1486搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感 ...
相关推荐
JSTL的主要组成部分包括以下几个核心标签库: 1. **Core库**:提供了基本的控制结构,如迭代、条件判断、URL重定向等。例如,`<c:forEach>`用于遍历集合,`<c:if>`和`<c:choose>`用于条件判断。 2. **fmt库**:...
### JSTL (JavaServer Pages Standard Tag Library) 整理资料 #### 一、概述 JSTL,即JavaServer Pages Standard Tag Library,是...掌握JSTL的核心标签库,对于提高Java Web项目的开发效率和代码质量具有重要意义。
7. **JSTL(JavaServer Pages Standard Tag Library)**:一种标准标签库,简化了JSP页面的编写,比如`<c:forEach>`, `<c:if>`, `<fmt:formatDate>`等标签,使代码更加清晰和简洁。 8. **EL(Expression Language)...
提到的`core`、`sql`、`fmt`标签库是JSTL的一部分,它们分别提供了核心操作、数据库操作和格式化功能的自定义标签。例如,`core`库中的`<c:out>`标签用于安全地输出变量,`sql`库提供了执行SQL查询的能力,而`fmt`...
2. JSTL标签库:JSTL提供了c:forEach和fmt:formatNumber标签,可以方便地生成分页链接和页码。 3. JavaScript/jQuery:结合Ajax异步请求,实现动态加载分页内容,提供更好的用户体验。 4. 前后端分离:在SPA应用中,...
以下是对Struts框架关键知识点的深度解析,涵盖Struts1.x的基础知识、配置过程、以及Struts标签的配置和使用。 ### Struts1.x基础知识 #### MVC模式 Struts1.x是基于MVC(Model-View-Controller)模式构建的,该...
J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级分布式应用程序的框架,它提供了...通过阅读《第一章_J2EE全部要学知识整理.ppt》这样的资料,你可以系统地了解和学习这些概念和技术。
【Web程序设计A】试卷A主要涵盖了Web应用开发中的核心概念和技术,包括SQL语句的使用、JDBC操作、Servlet编程、用户登录处理、JSTL与EL表达式以及数据库的基本操作。以下是对这些知识点的详细说明: 1. **SQL语句与...
以上是基于提供的文档信息整理的关键知识点,涵盖了JSP的基础概念、Tomcat环境配置、页面元素、执行流程、请求响应对象使用、页面跳转、GET与POST区别、Servlet与JSP关系、EL表达式使用、JSTL标签库以及分页查询等...
总的来说,这个压缩包提供了一个全面的准备平台,让程序员能够针对C、C++和Java三种语言进行深度学习和复习,同时也有助于理解和掌握Web开发中的JSP技术以及.NET框架的基本知识。通过解答这些题目,程序员可以检查...
上述语句用于引入JSTL库,并指定前缀`c`,方便后续标签的使用。 4. **MVC的各个部分都有哪些技术来实现?如何实现?** - **Model**:JavaBean - **View**:JSP - **Controller**:Servlet 5. **获取浏览器...
- JSP:理解JSP的脚本元素、指令标签,以及EL和JSTL的使用。 - JDBC:理解数据库连接池,掌握SQL操作和预编译语句。 - JMS:消息队列的使用,理解点对点和发布/订阅模型。 - EJB(Enterprise JavaBeans):了解...
开发者需要掌握Servlet生命周期、请求响应机制以及JSP中的EL表达式和JSTL标签库。 3. **MVC设计模式**:搜索引擎项目可能采用Model-View-Controller架构,将业务逻辑、数据模型和用户界面分离,提高代码可维护性和...
传智博客作为知名的IT教育平台,由张孝祥老师精心整理的JavaWeb面试题目,旨在帮助求职者更好地理解和掌握这个领域的核心知识。 1. **Servlet基础** - Servlet的生命周期:初始化、服务、销毁三个阶段。 - `doGet...
### EL表达式和JSTL标签库 EL(Expression Language)表达式语言用于简化JSP页面中的脚本编写,提供了访问Java对象的方法。JSTL(JavaServer Pages Standard Tag Library)是一个基于EL的标签库,用于提供通用的Web...
本资料集中整理了一些JSP的经典例题,旨在帮助学习者深入理解和掌握JSP的核心概念和技术。 ### 1. JSP基本结构与语法 JSP页面主要由两部分组成:声明部分(Declarations)和脚本元素(Scriptlets)。声明部分通常...
常用的核心标签如`<c:forEach>`, `<c:if>`, `<fmt:formatDate>`等。 5. **EL(Expression Language)**:EL用于在JSP页面中方便地访问JavaBean属性,提供简洁的表达式语法,减轻页面的编程负担。 6. **HTTP协议**...
Servlet是Java Web开发中的核心组件,它用于接收和响应客户端(通常是Web浏览器)的请求。这篇初学者适用的Servlet笔记涵盖了几个关键知识点,包括过滤器、表单处理、表单验证、HTTP请求处理、cookie使用以及EL...
3. JSTL(JavaServer Pages Standard Tag Library):使用JSTL简化页面逻辑,如`<c:forEach>`, `<c:if>`, `<fmt:formatDate>`等标签。 4.异常处理:在JSP中如何优雅地捕获和处理异常,确保程序的健壮性。 5. 安全...
2. **JSTL标签**:掌握常用的JSTL标签如`<c:if>`, `<c:forEach>`等的使用方法。 ### Ajax技术(9分) Ajax(Asynchronous JavaScript and XML)是一种无需重新加载整个网页即可与服务器交换数据的技术,极大地提升...