JSTL语法及参数
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>;等
一般用途的标签:
1.<c:out>;
没有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”] [default=”defaultValue”]/>;
有Body时的语法
<c:out value=”value” [escapeXml=”{true|false}”]>;
这里是Body部分
</c:out>;
名字 类型 描述
value Object 将要输出的表达式
escapeXml boolean 确定以下字符:<,>;,&,’,”在字符串中是否被除数,默认为true
default Object 如果vaule计算后的结果是null,那么输出这个默认值
2.<c:set>;
这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于<%request.setAttrbute(“name”,”value”);%>;
语法1:使用value属性设定一个特定范围中的属性。
<c:set value=”value” var=”varName” [scope=”{page|request|session|application}”]/>;
语法2:使用value属性设定一个特定范围中的属性,并带有一个Body。
<c:set var=”varName” [scope=”{page|request|session|application}”]>;
Body部分
</c:set>;
语法3:设置某个特定对象的一个属性。
<c:set value=”value” target=”target” property=”propertyName”/>;
语法4:设置某个特定对象的一个属性,并带有一个Body。
<c:set target=”target” property=”propertyName”>;
Body部分
</c:set>;
名字 类型 描述
value Object 将要计算的表到式。
var String 用于表示value 值的属性,如果要在其他标签中使用,就是通过这 个var指定的值来进行的。它相当于在标签定义了一个变量,并且这个变量只能在标签中的一个。
scope String var的有效范围,可以是page|request|session|application中的一个
target String 将要设置属性的对象,它必须是javabean或则java.util.Map对象
property Object 待设定的Target对象中的属性名字,比如在javabean中有个name属性,提供了setUserId方法,那么这里填userId。
3.<c:remove>;
<c:remove var=”varName” [scope=”{page|request|session|application}”]/>;
4.<c:catch>;
这个标签相当于捕获在它里边的标签抛出的异常对象
<c:catch [var=”varName”]>; //var是异常的名字
内容
</c:catch>;
条件标签
1. <c:if>;
语法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>;
名字 类型 描述
test Boolean 表达式的条件,相当于if()中的条件判断语句。
var String 表示这个语句的名字。
scope String var这个变量的作用范围。
2.<c:choose>;
语法:<c:choose>;
Body内容(<c:when>;和<c:otherwise>;子标签)
</c:choose>;
注意:它的Body只能由以下元素组成:
1) 空格
2) 0或多个<c:when>;子标签,<c:when>;必须在<c:otherwise>;标签之前出现.
3) 0个或多个<c:otherwise>;子标签。
3.<c:when>;
代表的是<c:choose>;的一个条件分支,只能在<c:choose>;中使用
语法:<c:when test=”testCondition”>; //test是boolean类型,用于判断条件真假
Body语句
</c:when>;
4.<c:otherwise>;
代表的是<c:choose>;中的最后选择。必须在最后出现
<c:otherwise>;
内容
</c:otherwise>;
迭代标签
1.<c:forEach>;
语法1:在Collection中迭代
<c:forEach[var=”varName”] items=”collection” [varStatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]
Body内容
</c:foeEach>;
语法2:迭代固定的次数.
<c:forEach [var=”varName”] [varStatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]
Body内容
</c:foeEach>;
名字 类型 描述
var String 迭代的参数,它是标签参数,在其他标签中通过它来引用这个标签中的内容。
Items Collection、ArrayList、 要迭代的items集合.
Iterator、Map、String、
Eunmeration等
VarStatus String 表示迭代的状态,可以访问迭代自身的信息
Begin int 表示开始迭代的位置。
End int 表示结束迭代的位置。
Step int 表示迭代移动的步长,默认为1。
URL相关的标签
1.<c:import>;
语法1:资源的内容使用String对象向外暴露
<c:import url=”url” [context=”context”]
[var=”varName”] [scope=”{page|request|session|application}”] [charEncoding=”charEncoding”]>;
内容
</c:import>;
语法2:资源的内容使用Reader对象向外暴露。
<c:import url=”url” [context=”context”]
varReader=”varReaderName” [charEncoding=”charEncoding”]>;
内容
</c:import>;
名字 类型 描述
url String 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字。
var String 参数的名字。
scope String var参数的作用范围。
cahrEncoding String 输入资源的字符编码。
varReader String 这个参数的类型是Reader,用于读取资源。
2.<c:redirct>;
语法1:没有Body的情况.
<c:redirect url=”value” [context=”context”]/>;
语法2:有Body情况下,在Body中指定查询的参数
<c:redirect url=”value” [context=”context”]>;
<c:param name=”name” value=”value”/>;
</c:redirect>;
3.<c:url>;
语法1:没有Body
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]/>;
语法2:有Body
<c:url value=”value” [context=”context”] [var=”varName”] [scope=”{page|request|session+application}”]>;
<c:param name=”name” value=”value”/>;
</c:url>;
名字 类型 描述
value String URL值
context String 当使用相对路径访问外部context资源时,context指定了这个资源的名字
var String 标识这个URL标量。
Scope String 变量作用范围。
SQL相关的标签
1.<sql:setDataSource>;
2.<sql:query>;
3.<sql:update>;
4.<transaction>;
5.<param>;
相关推荐
**JSP标准标签库(JSTL)**是Java服务器页面(JSP)技术的一个重要扩展,它提供了一组预定义的标签,用于简化JSP页面的开发和维护。JSTL的主要目标是减少在JSP中使用脚本元素,从而提高代码的可读性和可维护性。 ...
当JSP容器(如Tomcat)接收到请求时,它会处理JSP页面中的JSTL标签,执行相应的操作。在这个例子中,Tomcat负责编译和执行JSP页面,而JSTL库的JAR文件需要被添加到应用程序的`WEB-INF/lib`目录下,以供容器使用。 ...
Struts的HTML标签库是基于JSP标准标签库(JSTL)的,它们扩展了基本的HTML元素,增加了服务器端的功能。这些标签能够直接与Struts ActionForm对象交互,处理用户输入、验证数据以及设置和获取表单字段值。 2. **...
JSTL是一组标准标签库,用于增强JSP页面的功能,减少脚本代码的使用。它包含多个核心标签,如条件判断、迭代、XML处理等。在本项目中,JSTL可能被用来处理用户界面的展示,比如显示注册表单、验证用户输入、处理...
根据给定文件的信息,本文将深入探讨Java程序调试过程中经常遇到的一些典型错误及解决方法。 ### 1. Web应用程序中的常见异常 #### 1.1 使用`System.out.println()`进行打印的问题 在Web应用程序开发中,`System....
通过分析这个项目,我们可以学习到如何使用Struts2框架构建Web应用,如何利用JSTL标签库简化JSP页面,以及如何实现Web应用的国际化。对于初学者来说,这是一个很好的实践项目,可以帮助理解JavaEE开发的基本流程和...
- 商品列表展示:利用JSTL标签库展示数据库中的商品信息。 - 购物车管理:通过JavaScript实现添加到购物车的功能,使用JSP和JavaBeans管理购物车中的商品数量。 - 订单生成:使用JSP页面收集用户订单信息,后端...
- 修改`web.xml`文件中的`<jsp-config>`部分,确保所有必需的JSTL标签库都已正确配置,参考示例: ```xml <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt.tld ...
3. **EL(Expression Language)和JSTL**:EL用于在JSP中简洁地访问JavaBean属性,而JSTL提供了一组标签,可以替代部分脚本语言的使用。掌握EL表达式和JSTL的使用,如`c:forEach`,`c:if`,`fmt:formatDate`等,可以...
1. **JSP文件**:以.jsp为扩展名,其中包含了HTML、Java代码片段、EL表达式和JSTL标签。 2. **CSS文件**:定义页面样式,通常以.css为扩展名。 3. **JavaScript文件**:负责页面的交互逻辑,通常以.js为扩展名。 4. ...
2. **JSTL标签**:掌握常用的JSTL标签如`<c:if>`, `<c:forEach>`等的使用方法。 ### Ajax技术(9分) Ajax(Asynchronous JavaScript and XML)是一种无需重新加载整个网页即可与服务器交换数据的技术,极大地提升...
...%>`、`<%=...%>`等标签中,或者使用JSP标签库(Tag Libraries)如JSTL。 **2. JSP指令** JSP有三种指令:`<%@ page %>`、`<%@ include %>`和`<%@ taglib %>`。`<%@ page %>`用来设置页面属性,如字符编码、导入...
- 使用EL和JSTL标签,提高代码可读性。 - 将业务逻辑移至后台的Servlet或Controller。 - 分离视图、模型和控制,遵循MVC设计原则。 这份"jsp学习笔记"详细阐述了JSP的基本概念、语法、生命周期以及与其他技术的...
JSTL是一组标准标签库,为JSP提供了各种常用的标签,如条件语句、迭代、XML处理等,以替代复杂的Java脚本。使用JSTL可以使得JSP页面更加清晰,符合MVC设计模式,提高代码的可读性和可维护性。 **HTML** HTML...
9. **JSTL和EL表达式**:JSP Standard Tag Library(JSTL)是一套标准的标签库,可以减少脚本代码,提高代码可读性。Expression Language(EL)则用于在JSP中简洁地访问JavaBeans属性。 通过这个项目,学生可以深入...
JSTL则是一组标准标签库,如JSTL Core、JSTL SQL、JSTL XML等,用于增强JSP的功能,减少脚本元素的使用。 五、**MVC设计模式与Servlet-JSP关系** 在Web应用中,JSP常与Servlet结合,遵循MVC(Model-View-Controller...
本教程的"PPT"部分可能涵盖了JSP的基础知识,如JSP语法、EL和JSTL的使用,以及Struts框架的配置、ActionForm、Action和标签库的实战应用。通过学习"ch9.ppt"和"ch8.ppt",你可以深入理解JSP和Struts如何协同工作,...
开发者可能使用了如`<c:forEach>`或`<fmt:formatNumber>`这样的JSTL标签来实现这一功能,或者使用自定义标签来自定义分页逻辑。 数据库是任何Web应用的基础,问吧系统的数据库可能包含了用户表、问题表、答案表、...
JSTL文档`JSTL.pdf`可能包含了关于JSTL的介绍,这是一个标准标签库,用于简化JSP页面的开发,提供了条件语句、迭代、XML处理等功能,使代码更清晰、可维护性更强。 5. **EL(Expression Language)** EL表达式`EL...