JSTL标准标签库的使用
jstl 中 if语句的使用
jstl 中if语句的使用JSTL(JavaServer Pages Standard Tag Library)是用于在JSP页面中嵌入Java 逻辑的标准标签库。
在JSTL中,有一个<c:if>标签可以用于条件判断和控制页面的显示。
<c:if>标签有三个常用的属性:test、var和scope。
1. test属性:用于定义条件表达式,只有当条件表达式为真(true)时,<c:if>标签中的内容才会被执行。
可以使用JSP中的EL表达式作为条件,例如:<c:if test="{age > 18}"><! 显示内容></c:if>2. var属性:用于定义一个变量,该变量会被赋值为布尔型的条件表达式的值。
例如:<c:if test="{age > 18}" var="isAdult"><! 当age大于18时,isAdult的值为true ></c:if>3. scope属性:用于指定变量的作用域,默认为page。
可以选择的作用域包括page(页面)、request(请求)、session(会话)、application(应用程序)。
例如:<c:if test="{age > 18}" var="isAdult" scope="request"><! 当age大于18时,在request作用域中创建变量isAdult ></c:if>示例:<c:if test="{age > 18}"><p>已成年</p></c:if><c:if test="{age <= 18}"><p>未成年</p></c:if>这个示例中,如果age大于18,则显示"已成年";如果age小于等于18,则显示"未成年"。
实验内容:使用EL及JSTL
XXXX 大学计算机学院实验报告计算机学院2017 级软件工程专业 5 班指导教师XXX 学号姓名XXX 2019 年10 月30 日成绩实验内容或上机调试程序实验:使用EL表达式和JSTL实现将文本框中的内容输出到页面的功能,在此页面的文本框中输入内容,单击页面提交按钮之后,输入框以及按钮消失,文本框中输入的内容显示到页面(操作及显示效果均在同一页面完成)①核心代码如下所示:<!-- 表单 --><c:set value="1"var="visitContent"property="visitContent"/><!-- 表单提交后,表单内输入框如果为null,就隐藏输入框 --><c:if test="${erName==null}"><form action="${pageContext.request.contextPath}/index.jsp">userName:<input type="text"name="userName"><br/>userPassword:<input type="text"name="userPassword"><input type="submit"value="提交"><input type="reset"value="重置"></form></c:if><hr/><!-- 使用EL表达式显示输入框中的内容 -->userName:${erName} <br/>userPassword:${erPassword}②完成效果如下所示:图表单提交之前的效果实验内容或上机图表单提交后前的效果调试程序。
el和jstl实验总结 -回复
el和jstl实验总结-回复实验总结:el和jstl在Java Web开发中的应用引言:在Java Web开发中,为了简化页面的开发和编写,提高开发效率,EL表达式(Expression Language)和JSTL标签库(JSP Standard Tag Library)被广泛应用。
本文将以实验总结的形式,深入探讨EL表达式和JSTL标签库在Java Web开发中的应用和使用方法,并提供一些实际案例,以便读者更好地理解和应用这两个技术。
第一部分:EL表达式(Expression Language)的应用1. EL表达式的概述:EL表达式是一种用于在JSP页面中处理和访问服务器端数据的简单而强大的语言。
它提供了一种简洁和易于理解的方式来获取和展示数据。
2. EL表达式的语法:介绍EL表达式的基本语法,包括变量访问、属性访问、方法调用等。
3. EL表达式的内置对象:介绍EL表达式内置的一些对象和方法,如pageContext、request、response、session等,以及它们的常用用法。
4. EL表达式的运算符:介绍EL表达式中常用的运算符,如四则运算、逻辑运算、比较运算等。
5. EL表达式的应用案例:通过实际案例,展示EL表达式在Java Web开发中的应用,如获取用户输入、计算表单数据、展示数据库查询结果等。
第二部分:JSTL标签库(JSP Standard Tag Library)的应用1. JSTL标签库的概述:JSTL是一组自定义标签,通过标签的方式提供了一种简洁和易于维护的方式来处理和展示JSP页面中的数据。
2. JSTL标签库的分类:介绍JSTL标签库的分类,如核心标签库、格式化标签库、数据库标签库等。
3. JSTL核心标签库的常用标签:介绍JSTL核心标签库中常用的标签,如<c:if>、<c:forEach>、<c:choose>等,以及它们的常用用法。
JSTL的用法
JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。
在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大和不利于技术标准化产生了自定义标签库。
JSTL标签库可分为5类:❑核心标签库❑I18N格式化标签库❑SQL标签库❑XML标签库❑函数标签库本章将对这些内容一一讲述。
9.1 核心标签库JSTL的核心标签库标签共13个,从功能上可以分为4类:表达式控制标签、流程控制标签、循环标签、URL操作标签。
使用这些标签能够完成JSP页面的基本功能,减少编码工作。
(1)表达式控制标签:out标签、set标签、remove标签、catch标签。
(2)流程控制标签:if标签、choose标签、when标签、otherwise标签。
(3)循环标签:forEach标签、forTokens标签。
(4)URL操作标签:import标签、url标签、redirect标签。
在JSP页面引入核心标签库的代码为:<%@ taglib prefix="c" uri="/jsp/jstl/core" %>下面将按照功能分类,分别讲解每个标签的功能和使用方式。
9.2.1 表达式控制标签表达式控制分类中包括<c:out>、<c:set>、<c:remove>、<c:chtch>4个标签,现在分别介绍它们的功能和语法。
1.<c:out>标签【功能】:用来显示数据对象(字符串、表达式)的内容或结果。
在使用Java脚本输出时常使用的方式为:<% out.println(“字符串”)%><%=表达式%>在web开发中,为了避免暴露逻辑代码会尽量减少页面中的Java脚本,使用<c:out>标签就可以实现以上功能。
跟我学J2EE JSP Web开发技术中的JSTL标签库及应用技术
(2)简化了JSP和Web应用程序的开发 8、JSTL中对数据实现基本操作的标签
主要包含有四个标签: <c:out> 、 <c:set> 、 <c:remove> 和 <c:catch>
9、JSTL中的<c:out>标签及应用 (1)主要的功能
(2)其中<%@ taglib uri="/jsp/jstl/core" prefix="c" %>声明了使用的taglib
它的前缀(prefix)是"c",那么在后面的代码中使用 "<c:"标示来使用标签,如: <c:if test="${sessionScope.test== 'joseph'}">${sessionScope.test}<br></c:if>
10、JSTL中的<c:set>标签及应用 (1)<c:set>标签用于保存数据 (2)它有如下属性
(3)应用示例
(4)将数据保存到一个已经存在的Map集合中的一样示例
<% java.util.Map oneMapObjectName= new java.util.HashMap(); request.setAttribute("oneMapKeyName", oneMapObjectName); %> <c:set value="杨晓波" target="${oneMapKeyName}" property="loginName" ></c:set> ${oneMapKeyName["loginName"] }
JSP标准标签库(JSTL)精品PPT课件
JSTL的目的是简化JSP页面的设计。为页面设计人员和程 序开发人员的分工协作提供了便利。
JSTL1.0需要支持Servlet2.3和JSP1.2的Web容器,而 JSTL1.1需要支持Servlet2.4和JSP2.0的Web容器。
<c:set>
用于设置范围变量的值或JavaBean对象的属性。
语法1:使用value属性设置范围变量的值 <c:set value=“value” var=“varname” [scope=“{page|request|session|application}”] />
语法2:使用标签体设置范围变量的值 <c:set var=“varName” [scope=“{page|request|session|application}”] > body content </c:set>
<c:out>
用于计算一个表达式,并将结果输出到当前的JspWriter对 象。
<c:out>标签的功能类似于JSP的表达式<%=expression %>, 或者EL表达式${el-expression}
语法1:没有标签体: <c:out value=“value” [escapeXml=“{true|false}”]
EL最初定义在JSTL1.0规范中,在JSP2.0后,EL正式成 为JSP规范的一部分。在JSTL1.1规范中,已经没有了EL 部分,不过,在JSTL中仍然可以使用EL。
JSTL API下载地址为:
JSTL组成
JSTL是由5个不同的功能的标签库组成的。在 JSTL1.1规范中,为5个标签库分别指定了不同的 URI,并对标签库的前缀做出了规定:
JSTL中的TLD配置和使用。
JSTL中的TLD配置和使⽤。
⼀,JSTL介绍: JSTL标签库,是⽇常开发经常使⽤的,也是众多标签中性能最好的。
把常⽤的内容,放在这⾥备份⼀份,随⽤随查。
尽量做到不⽤查,就可以随⼿就可以写出来。
这算是Java程序员的基本功吧,⼀定要扎实。
JSTL全名为JavaServer Pages Standard Tag Library。
JSTL是由JCP(Java Community Process)所制定的标准规范,它主要提供给Java Web开发⼈员⼀个标准通⽤的标签函数库。
Web程序员能够利⽤JSTL和EL来开发Web程序,取代传统直接在页⾯上嵌⼊Java程序(Scripting)的做法,以提⾼程序的阅读性、维护性和⽅便性。
⼆,JSTL配置: 主要牵涉到两个jar包 standward.jar和jstl.jar包(两个包1.0和1.2版本的下载以及TLD下载路径如下:) 加载⽅式包括两种 1,⾮⾃动加载 a,将tld⽂件copy到WEB-INFO下的tld⽬录下,没有就创建之 b,修改web.xml⽂件配置,添加配置如下 1<jsp-config>2<taglib>3<taglib-uri>/jstl/core</taglib-uri>4<taglib-location>/WEB-INF/tld/c.tld</taglib-location>5</taglib>6<taglib>7<taglib-uri>/jstl/fmt</taglib-uri>8<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>9</taglib>10<taglib>11<taglib-uri>/jstl/fn</taglib-uri>12<taglib-location>/WEB-INF/tld/fn.tld</taglib-location>13</taglib>14</jsp-config>View Code c,jsp中引⽤taglib 2,⾃动加载Servlet2.4规范提供了对tld⽂件的⾃动加载,tld⽂件在standard.jar的META-INF⽂件夹中。
简述jstl的作用
简述jstl的作用JSTL,指的是JavaServer Pages(JSP)标准标签库。
它是一套专为基于JSP的Web应用程序设计的标准标签集合,它提供了对JSP编程中复杂又频繁出现的操作和需要的功能封装。
JSTL是一个标准标签库,由 JavaSoft出,整合了以下5个子库:1.心:定义控制结构,比如循环、条件等;2. XML:用于处理XML文档;3.式化标记:定义了国际化、数字、日期和消息格式化标签;4. SQL:定义SQL标记;5. 事务:提供了基本的数据库操作支持。
JSTL的标签可以替代JSP的脚本块,使我们的JSP文件更加简洁,代码也更易于阅读和维护。
使用JSTL提供的标签,可以使我们的代码更加简洁优雅,增强可维护性,可以和xml、xsl结合来提供复杂的数据显示,可以利用JSTL定义的标签来实现对XML数据的读取、把XML数据转换成HTML页面能识别的格式,可以利用JSTL定义的标签来调用JavaBean属性以及调用JavaBean方法,可以方便地调用数据库服务,以及简单的使用EL表达式等等。
JSTL的优势在于它提供了一组可重用的标签,允许我们以更简洁、更容易理解的方式来完成我们的工作,这也极大地简化了JSP页面的构建和维护。
JSTL不仅极大地提高了JSP的开发效率,而且与其他类库高度整合,比如struts等,实际上,JSTL作为J2EE技术栈中重要的部分,已经广泛地被公司和企业所接受。
总之,JSTL为J2EE技术栈提供了一种更加高效、更加优雅的开发方式,它极大地丰富了JSP的功能,为Web应用的开发提供了更多的思路,并且它把JSP的静态性质变成了动态性质,使得开发者可以更加灵活,也使得开发者更容易维护JSP,并且JSTL支持多种标准,比如XML、SQl等,这也使得Web的开发效率更加高效准确。
jstl用法
JSTL用法一、什么是JSTLJavaServer Pages Standard Tag Library(JSTL)是一个JSP规范的标准标签库,它为JSP页面提供了一组标签和函数,用于简化JSP页面的开发和维护。
JSTL提供了核心标签库、格式化标签库、SQL标签库和XML标签库等,可以帮助开发者更方便地处理数据、格式化输出、执行SQL查询和处理XML数据等任务。
二、JSTL的引入要使用JSTL,首先需要在项目中引入JSTL的相关依赖。
在Maven项目中,可以通过在pom.xml文件中添加以下依赖来引入JSTL:<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>引入依赖后,就可以在JSP页面中使用JSTL的标签了。
三、核心标签库1. <c:out>标签<c:out>标签用于输出表达式的值,可以防止XSS攻击。
它的使用方式如下:<c:out value="${expression}" />其中,expression是一个JSP表达式,可以是一个变量、一个属性或者一个EL表达式。
<c:out>标签会将expression的值进行HTML转义,以防止恶意代码注入。
2. <c:set>标签<c:set>标签用于设置一个变量的值,可以在JSP页面中使用这个变量。
它的使用方式如下:<c:set var="variableName" value="expression" />其中,variableName是变量的名称,expression是一个JSP表达式,用于给变量赋值。
jstl 数值型加法运算
jstl 数值型加法运算JSTL(JSP Standard Tag Library)是用于在JSP页面上进行数据处理和逻辑控制的标准标签库。
在JSTL中进行数值型加法运算可以通过使用 `<c:set>` 标签和 EL(Expression Language)来实现。
首先,我们可以使用 `<c:set>` 标签来创建一个变量并将数值赋给它,然后使用EL表达式来对这个变量进行加法运算。
例如:jsp.<c:set var="num1" value="10" />。
<c:set var="num2" value="5" />。
<c:set var="result" value="${num1 + num2}" />。
在这个例子中,我们首先使用 `<c:set>` 标签分别创建了两个变量 `num1` 和 `num2`,并分别赋予了它们数值 10 和 5。
然后,我们使用 `<c:set>` 标签再创建一个变量 `result`,并使用EL表达式 `${num1 + num2}` 对 `num1` 和 `num2` 进行加法运算,将结果赋给 `result` 变量。
除了使用 `<c:set>` 标签外,也可以直接在输出表达式中进行加法运算,例如:jsp.<%= 10 + 5 %>。
在这个例子中,`<%= %>` 用于输出表达式的结果,而 `10 +5` 则是进行了加法运算的部分。
总的来说,在JSTL中进行数值型加法运算可以通过 `<c:set>` 标签结合EL表达式来实现,也可以直接在输出表达式中进行加法运算。
希望这些信息能够帮助到你。
jslt c标签库手册
前言从JSP 1.1规范开始,JSP 就支持在JSP 中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL (JavaServer Pages Standard Tag Library )的诞生。
作者:丁令(http:////)JSTL 简介JSTL 是一个不断完善的开放源代码的JSP 标签库,是由apache 的jakarta 小组来维护的。
JSTL 只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x 。
但是在即将推出的JSP 2.0中是作为标准支持的。
JSTL 目前的最新版本为1.02,最终发布版为1.0。
JSTL 包含两个部分:标签库和EL (Expression Language 表达式语言)语言。
标签库目前支持四种标签:标签URI前缀示例Core/jstl/core c <c:tagname ...>XML processing/jstl/xml x<x:tagname ...>I18N capable formatting /jstl/fmt fmt <fmt:tagname ...>Database access (SQL)/jstl/sqlsql<sql:tagname ...>Core 支持JSP 中的一些基本的操作;XML processing 支持XML 文档的处理;I18N capable formatting 支持对JSP 页面的国际化;JSTL 标签库详细介绍资料收藏首页资讯空间学生论坛博客下载读书网摘程序员外包书店网址CT O俱乐部乐知教育D9区阿铮的箩筐箩筐里面水汪汪登录注册博客首页全站搜索留言用户操作[留言] [发消息] [加为好友]阿铮ID :azheng270共43505次访问,排名3671,好友7人,关注者26人。
哪里有自由,哪里就是我的国家阿铮的文章原创 36 篇翻译 1 篇转载 32 篇评论 32 篇订阅我的博客Database access (SQL)支持JSP对数据库的操作。
第08章 JSTL标准标签库1
更多JSTL标准标签库的信息请登录:/taglibs/index.html
JSTL安装与配置
如果要想使用JSTL标准标签库,首先必须通过网址或者其它途径 进行获取,读者可登录“/products/jsp/jstl”下载JSTL。 JSTL的标签库(jstl-1.2.jar)下载完成后,就可以在Web应用中配置 JSTL标签库了。配置JSTL标签库有两种方法:一种是直接将jstl-1.2.jar 复制到Web应用的WEB-INF\lib目录中;另一种是在MyEclipse中进行添 加。
运行结果:
if条件判断标签
<c:if>是条件判断标签,是流程控制标签之一。该标签主要用于进 行条件判断并且只有当条件成立时才会处理body内容。其具体的语法格 式有如下两种: (1)不包含body内容。
<c:if test=“condition” var=“var” [scope=“{page|request|session|application}”]/>
<c:forEach var=“varName” begin=“begin” end=“end” [step=“step”] [varStaus=“varStatusName”] > 标签体 </c:forEach> 例: <c:forEach var=“i” begin=“1” end=“10”> 第<c:out value=“${i}” />次循环<p> </c:forEach>
属性名称 类型 说明
value escapeXML
default
Object boolean
Object
J2EE上--第8章 JSTL标准标签库
目标: 目标:
掌握JSTL核心标签库 核心标签库 掌握 掌握JSTL格式标签库 掌握 格式标签库 了解其它标签库 掌握自定义标签
第八章 JSTL标准标签库 标准标签库
重点: 重点:
掌握JSTL核心标签库 核心标签库 掌握 掌握JSTL格式标签库 掌握 格式标签库 掌握自定义标签
8.3格式标签库 格式标签库
4:使用fmt:message输出国际化的资源 :使用fmt:message输出国际化的资源 fmt:message 打开项目,修改studentAdd.jsp,输出国际化的资源, 打开项目,修改 ,输出国际化的资源, 它们会根据具体设置的国际化环境代码来调用对应的资源 它们会根据具体设置的国际化环境代码来调用对应的资源 文件,具体代码如下所示: 文件,具体代码如下所示:
8.3格式标签库 格式标签库
提示: 提示: 在创建资源文件时, 字符均被转义, 在创建资源文件时,所有的 Unicode 字符均被转义, 这是因为 Java 的资源绑定机制只接受用 ASCII 编码的 属性文件。要创建这个文件, 属性文件。要创建这个文件,既可以使用 IDE 中的字符 串资源编辑器, 串资源编辑器,也可以使用 Unicode 编辑器创建一个 Unicode 文件,然后用 JDK 的 nativetoascii 工具转换它。 文件, 工具转换它。
<table border="0" cellspacing="0" cellpadding="0" align="center" width="100%"> <tr class="fontB"> <td align="center"> <fmt:message key="studentNo"></fmt:message></td> </tr><tr class="fontB"> <td align="center" bgcolor="#F0F0F0"> <fmt:message key="studentName"></fmt:message> </td> </tr>……
第五讲JSTL标准标签库
格式4:将标签体的内容保存至 target 对象的属性中
<c:set target=“对象名” property=“propertyName”> 标签体内容 </c:set>
例:分别设置、显示域中属性、JavaBean对象的属性、Map对 象的值,结果如下图所示:
12
13
3) <c:remove> 功能:用移除某个变量 格式: <c:remove var="varName" [scope=" page|request|session|application "] />
22
说明: <c:forEach>还提供varStatus 属性:主要用来存放现在指 到之成员的相关信息; varStatus属性还有另外四个属性:
23
<% String atts[] = new String[5]; atts[0] = "hello"; atts[1] = "this"; atts[2] = "is"; atts[3] = "a"; atts[4] = "pen"; request.setAttribute("atts", atts); %> <c:forEach items="${atts}" var="item" varStatus="s"><h2> <c:out value="${item}" /> 的四种属性: </h2> index:${s.index}</br> count:${s.count}</br> first:${s.first}</br> last:${st}</br> </c:forEach>
jstl if else用法
jstl if else用法JSTL(JSP标准标签库)是一组JSP自定义标签,用于简化JSP页面中的逻辑处理和数据显示。
在JSTL中,可以使用if-else标签来实现条件判断。
以下是if-else标签的用法:1. 导入JSTL库:在JSP页面中,需要先导入JSTL库,以便使用标签库中的标签。
可以使用以下语句导入JSTL库:```<%@ taglib prefix="c" uri="/jsp/jstl/core" %> ```2. 使用if-else标签:在JSP页面中,可以使用<c:if>标签来实现条件判断。
它的语法如下:```<c:if test="${条件表达式}"><!-- 此处为满足条件时的内容 --></c:if>```其中,`${条件表达式}`为需要判断的条件表达式,如果条件表达式为真,则执行if标签内的内容。
除了<c:if>标签,还可以使用<c:choose>和<c:when>标签来实现条件判断。
它们的语法如下:```<c:choose><c:when test="${条件表达式}"><!-- 此处为满足条件时的内容 --></c:when><c:otherwise><!-- 此处为条件不满足时的内容 --></c:otherwise></c:choose>```其中,可以有多个<c:when>标签,用于判断多个条件。
例如,以下示例代码展示了如何使用if-else标签判断变量num 的值是否大于10:```<c:if test="${num > 10}"><p>${num}大于10</p></c:if><c:if test="${num <= 10}"><p>${num}小于等于10</p></c:if>```通过使用if-else标签,可以根据条件来展示不同的内容,实现页面上的动态逻辑处理。
JSTL标签
JSTL什么是JSTLJSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。
JSTL1.1必须在Servlet2.4和JSP2.0以上的容器才能正常工作。
为了抑制JSP里写大量的JA V A代码,所以用JSTL标签来实现JA V A里逻辑调用,JSP 标准标记库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。
JSTL包括五个标签库,即Core标签库、XML标签库、国际化与格式化标签库和SQL标签库,JSTl的使用一.配置 JSTL两个 JAR 文件, jstl.jar 和 standard.jar 。
原文引入:<%@ taglib prefix="c" uri="/jsp/jstl/core" %><%@ taglib prefix="sql" uri=" /jsp /jstl/sql" %><%@ taglib prefix="fmt" uri=" /jsp /jstl/fmt" %> 二. Core 标签库(经常用)Core 标签库主要包括了一般用途的标签、条件标签、迭代标签和 URL 相关的标签。
在JSP 页面使用 Core 标签,要使用 taglig 指令,指定引用的标签库,如下:<%@ taglib uri=”/jsp/jstl/core” prefix=”c” %>一般用途的标签有 <c:out> 、 <c:set> 、 <c:remove> 、 <c:catch>1.<c:out>用于计算一个表达式并将结果输出。
实验九 EL表达式和JSTL标签库的使用
3. 在 Src 文件夹中创建一个 EmployeeBean 的 JavaBean,访问作用域变
量,其中包括 3 个属性 eno 表示雇员号、ename 表示雇员名和 ecompany 表
示雇员公司名。代码如下
【步骤1】EmployeeBean.java程序代码 package com.beans;
return eno; } public String getEname(){
return ename; } public String getEcompany(){
return ecompany; } } 【步骤2】在WebRoot目录下编写Employee.jsp页面,在其中通过表单输入雇员信息,将 请求转发到一个Servlet。 <%@ page contentType="text/html;charset=gb2312"%> <html> <body> 请输入雇员信息: <form action="employee.do" method="post"> <table> <tr><td>雇员号:</td><td><input type="text" name="eno"></td></tr> <tr><td>雇员名:</td><td><input type="text" name="ename"></td></tr> <tr><td>公司名:</td><td><input type="text" name="ecompany"></td></tr> </table> <input type="submit" value="提交"> </form> </body>
JSTL国际化标签库
主要内容:国际化介绍JSTL国际化标签分类国际化的web应用一、国际化介绍1.国际化:目前开发的软件通常要求能够针对客户所在的地区和国家,显示符合该地区和国家语言习惯的页面信息.例如英国客户看到的页面信息应该英文, 货币显示单位英镑.2.国际化的实现标准:页面的固定信息的国际化: 页面的标题,导航,菜单,按钮等信息的要根据地区和国家显示相应的语言页面的动态信息的国际化: 货币,时间,能够按照客户地区和国家显示当地的货币单位,和时区时间.I18N(internationalization): 从i到n中间18个字母,所以称为I18n.二、JSTL国际化标签分类三、国际化的web应用1.Local设置标签语法: <fmt:setLocale value="语言国家"/>说明:该标签用来设置当前页面的语言, value属性可以设置为语言,或语言_国家举例:<fmt:setLocale value="en"/><fmt:setLocale value="en_US"/> //设置语言国家语言和国家之间可以用–或_都可以注意:如果不明确locale 或者value=””则默认使用当前浏览器设置.2.固定信息国际化1)把所有固定信息写入资源文件中.针对每一种语言创建对应的资源文件. 所有创建的资源文件都必须有一个相同的基本名称如: myProperties针对每中语言和国家附加响应信息:myProperties_语言_国家.propertiesmyProperties_语言.propertiesmyProperties.properties(默认的资源文件, 整个资源包中只有一个,当根据语言国家找不到相应资源文件时,默认使用此文件) 例如: myProperteis_zh_CN.propertiesmyProperteis_en_US.properties要在响应语言的资源文件中把固定信息以”key=value”的形式定义下来, 在页面中通过key在资源文件中找到value显示,所有资源文件中的key必须一致资源文件都以ASCII编码,对于非ASCII码的内容,如中文,需要转码.整个项目结构: 通常将这样一组资源文件,叫做资源文件包.2)使用JSTL标签显示固定信息1.<fmt:bundle> 标签:用来绑定资源文件语法:<fmt:bundle basename=”资源文件名”>标签体的内容展示,以绑定资源文件名为准</fmt:bundle>举例:说明:如果出现??userName??情况,一般baseName或者key设定错误.Prefix:表示设定资源文件中key的前缀部分(即key中相同的内容), 注意“. “不要漏掉.否则出现乱码??userName?2.<fmt:setBunlde>标签:用来绑定资源文件,可应用到message标签语法格式:<fmt:setBundle basename=”资源文件名” var=”变量名” scope=”变量范围”/>说明:当web项目中有多套资源包的时候,可以通过setBundle标签来绑定不同资源包, 在同一个页面中可以使用不同的资源包如果不设定var,则默认此绑定在当前页面有效举例1:3.<fmt:message>标签:根据指定的key,在资源文件中查找并显示value值语法: <fmt:message key=”资源文件中的信息key” bundle=”资源绑定” var=”存储信息” scope=”变量作用于”> 举例1: 根据key获取value并显示举例2:根据key获取value存入变量4.<fmt:param>标签:从资源文件中获取信息是,可以动态的设置其中的部分内容.语法格式: <fmt:param value=""></fmt:param>或者<fmt:param > 标签体</fmt:param>举例:3.动态信息国际化: 针对日期,数字等信息的格式化设置1)<fmt:timeZone>:制定时区timeZone是时区的ID,例如:America/Los_Angeles,GMT-8等。
JSTL标准标签库
语法格式:
<c:choose>
<c:when>
业务逻辑
</c:when>
<c:otherwise>
业务逻辑
</c:otherwise>
</c:choose>
5.12实例
<c:set var="now">
<%=new java.util.Date().getDay()%>
这个标签可以根据不同的条件去处理不同的业务,也就是执行不同的程序代码,它和Java基础语法中的if一样,<c:if>有两种语法格式
语法1:<c:if test=“表达式” var =name[scope="范围"]/>
这中语法格式会判断条件表达式,并将条件的判断结果保存在var属性指定的变量中,而这个变量存在于scope属性指定范围内
</c:out>
escapeXml指定特殊符号是否转义输出,例如<转义成<>
default如果value属性值等于null,则显示default当中的默认值
5.3<c:set>变量设置
此标签用于在某个属性范围中设置某个值
4种语法格式:
no.1在指定范围赋值
<c:set value="v" var="name"[scope="prsa"]>
varStatus String 循环的状态变量 不可以
varStatus 下的属性成员
属性 类型 说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
准规范之一。
把传统的JSP代码段与EL做一个比较: 传统的JSP代码段 EL表达式
<%=request.getParameter(“name”)%> ${}或者 ${param[“name”]}
EL有自己的隐含对象和运算符。
表达式语言简介1
EL 为表达式语言 由两个组开发
运算符
运算符
算术
关系
逻辑
Empty
运算符
* / 或 div + -
运算符 描述 <或 lt 小于 乘法 > 或 gt 除法 < = 或 le 加法 >= 或 ge == or eq 减法 != 大于
描述 运算符 &&、and
运算符 描述 Empty 逻辑与 逻辑或
描述 检查空值
通用标签
条件标签
迭代标签
通用标签1
通用标签库用于操作 JSP 页面内的作用域 变量 通用标签库中的标签:
通用标签
set
remove
out
通用标签 2
插入使用通用 标签的指令
<%@ taglib uri=/jstl/core_rt prefix="c" %> <body> <c:set var= "example" value="${100+1}" scope="session" /> <c:out value="${example}"/>
文字常量1
文字常量被指定为固定值 JSP 表达式语言支持文字常量
文字常量
布尔型
整型
浮点型
字符串型
Null
文字常量2
布尔型 – 指定或检查运算结果,返回结果为 true 或 false 整型 – 表示十进制、十六进制和八进制类型的值 浮点型 – 由两部分组成,如用 ’E’ 或 ’e’ 和后缀类型表示的 指数 字符串型 –由 0 个或多个字符组成 Null – 表示无值,Null 值可用于代码中检查方法是否返回值
|| or 小于等于 大于等于 等于 不等于
保留字
程序中不应使用保留字作为变量名或方法 的名称
运算符
and or not eq ne le gt
描述
与 或 非 等于 不等于 小于等于 大于
运算符
ge true false null empty div mod
描述
大于等于 True False Null 清空 相除 取模
paramValues:返回映射至客户端的请求参数的一组值
隐含对象3
header:返回一个请求标题名称,然后将该值映射至单个字符串值 headerValues:返回映射至请求标题的一组值 cookie:返回映射至单个 Cookie 对象的 Cookie 名称
initParam:返回映射至单个值的上下文初始化参数名称
演示:示例 3 jstlif.jsp
迭代标签库 1
迭代标签用于多次计算标签体 迭代标签库中的标签有:
迭代标签
forEach
forTokens
param
paramValues
initParam
cookie
pageScope
header requestScope
headerValues
sessionScope
applicationScope
隐含对象2
pageContext:提供对页面属性的访问
param:返回客户端的请求参数的字符串值
能力目标
熟悉c:forEach、 c:if、c:out、 sql:setDataSource、 sql:query等标记的 用法。
态度目标
动手勤练 善于提问 独立思考
一、EL简介
EL(Expression Language)表达式语言是JSP2.0的一
个主要的组件。EL使用十分方便,语法也很简单,已成为标
二、JSTL
JSP标准标记库(JSP Standard Tag Library,JSTL)是一 个实现web应用程序中常见的通用功能的定制标记库集,这些功能 包括迭代和条件判断、数据管理格式化、XML操作及数据库访问等。 用EL表示。 JSTL标签库可以在一定程度上减少页面中的java代码,使得 代码更能简洁,有利于提高可阅读性,也更便于维护。
JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签
表达式语言简介2
请求 响应 静态内容 客户端 动态内容
JSP 页面
演示:示例 3
变量
Web 容器计算变量 用pageContext.findAttribute(String)确定变 量的值 点运算符 ( . ) 或方括号( [ ] ) 访问变量的值
隐含对象1
隐含对象
pageContext
响应
服务器
请求
${ EL Expression }
表达式语言简介3
<html> <td>或</td> <body> <td>${'${'}true or true}</td> <td>${true or true}</td> <h1>EL Logic</h1> </tr>border="1"> <table <tr> <td> 或</td> <td><b> 逻辑运算</b></td> <td>${'${'}true || false}</td> <td><b>EL 表达式 </b></td> <td>${true || false}</td> <td><b>Result</b></td> </tr> <tr> <td>非 与</td> <td>${'${'}not <td>${'${'}truetrue}</td> and true}</td> <td>${not <td>${truetrue}</td> and true}</td></tr> </tr> <tr> <tr> <td>与</td> <td> 非</td> && false}</td> <td>${'${'}true <td>${'${'}'!false}</td> <td>${true && false}</td></tr> <td>${!false}</td> <tr> </tr> </table> </body> </html>
条件标签1
JSTL 提供条件标签以支持 JSP 页面中的各种条件 条件标签包括:
条件标签
if
choose
条件标签 2
<body> <c:set var="signalStrength" value="7” scope="page" /> 在 页面中使用条件标签。 <c:ifJSP test="${pageScope.signalStrength < 5}"> <c:set var="signalFailure" value="true" scope="page" /> if 和 choose 标签的用法。 </c:if> <h1> 使用 If 和 Choose</h1> <c:choose> <c:when test="${pageScope.signalFailure == true}"> 信号断开 </c:when> <c:otherwise> 信号打开 </c:otherwise> </c:choose> </body>
JSP开发技术
项目八: JSTL标准标签库的使用
任务1:使用core、sql库中的标记改造JSP页面
主要任务(项目导入)
1
2
EL简介
JSTL标签库
3
4
core核心标签库 sql标签库
任务目标
知识目标
熟悉jsp的taglib指 令的用法 了解表达式语言 EL的语法、jstl的含 义 熟悉jstl中的core 库、sql库的用法
out 标签显示值的结果
set 标签用于给变 量设置值和作用域
<c:remove var= "example" scope="session"/>