JSP————标签小结

来源:互联网 发布:java分布式系统有哪些 编辑:程序博客网 时间:2024/06/13 19:37

JSP标签

JSP标准标签库(JSP Standard Tag Library,JSTL)是实现Web应用程序中常见的通用功能的定制标签库集,程序员使用JSTL标签来避免在JSP页面中使用脚本。

标签头:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<c:out> 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中。

<c:set>标签用于把某一个对象存在指定的域范围内,或者设置Web域中的java.util.Map类型的属性对象或JavaBean类型的属性对象的属性。 

<c:remove>标签用于移除JSP页面中指定域范围中的变量。

<c:catch>标签用于捕获嵌套在标签体内的内容抛出的异常对象,并将异常信息保存到变量中。

<c:if>标签用来做条件判断,功能类似于JSP中的<%if(boolean){}%>。

<c:choose>、<c:when>、<c:otherwise>标签

<c:choose>标签用于提供条件选择的上下文,它必须与<c:when>和<c:otherwise>标签一起使用。 

<c:when>作为<c:choose>的子标签,<c:when>有一个test属性,该属性的值为布尔型,如果test的值为true,则执行<c:when>标签体的内容。

<c:otherwise>标签没有属性,它必须作为<c:choose>标签的最后分支出现。

<c:forEach>标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。

<c:forTokens>标签用来浏览一字符串中所有的成员,其成员是由定义符号(Delimiters)所分隔的。

JSP网页开发中经常用到超链接、页面的包含和重定向等操作,在JSTL中,也提供了相应的标签来完成这些功能,这些标签包括<c:import>、<c:url>、<c:redirect>和<c:param>。 

属性

url属性是必须要有的,它是用来设定被包含页面的地址,可以是绝对地址也可以是相对地址。

url如果使用相对地址,把同一个Web应用中的文件引入的话,例如<c:import url=“MyHtml.html”/>

还可使用绝对路径,将其他网站的文件包含进来。例如<c:import url=“http://www.baidu.com” charEncoding=“gb2312”/>

当var属性存在时,把文件内容包含进来,但是它不输出到网页上,而是保存到var设定的变量中,而属性scope设定该变量的作用范围。

<c:url>标签

<c:url>标签在JSP页面构造一个URL,它提供了3个功能元素,它们可以在URL前面附加当前Servlet上下文的名称;可以为会话管理重写URL;可以对请求参数名称和值进行URL编码,这些功能在为J2EE Web应用程序构造URL时特别有用。

<c:redirect>标签用于向用户的浏览器发送HTTP重定向响应,它是JSTL中与 javax.servlet.http.HttpServletResponse的sendRedirect()方法功能相当的标记。

<c:param>标签的作用是为一个URL添加请求参数,在前面的<c:url>、<c:redirect>和<c:import>标签中都已经见过<c:param>的用法。

软件国际化

软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。

国际化又称为 i18n:internationalization

与前面的Core标签一样,在使用标签前需要先导入标签库,在JSP页面中导入国际化标签库的语法如下:

<%@ taglib uri=" http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<fmt:setLocale>

此标签用于设置语言环境,并将指定的Locale保存到javax.servlet.jsp.jstl.fmt.locale配置变量中。

<fmt:bundle>标签用于资源配置文件的绑定。

<fmt:setBundle>标签用于创建一个i18n本地上下文环境,将它保存到范围变量中或保存到javax.servlet.jsp.jstl.fmt.localizationContext变量中。

<fmt:message>从资源文件中查找一个指定键的值,用于显示本地化的消息。

国际化日期

DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串。

DateFormat 类除了可按国家地区格式化输出日期外,它还定义了一些用于描述日期/时间的显示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,实例化DateFormat对象时,可以使用这些常量,控制日期/时间的显示长度。

实例化DateFormat类有九种方式,以下三种为带参形式,下面列出的三种方式也可以分别不带参,或只带显示样式的参数。

getDateInstance(int style, Locale aLocale):以指定的日期显示模式和本地信息来获得DateFormat实例对象,该实例对象不处理时间值部分。

getTimeInstance(int style, Locale aLocale):以指定的时间显示模式和本地信息来获得DateFormat实例对象,该实例对象不处理日期值部分。

getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale):以单独指定的日期显示模式、时间显示模式和本地信息来获得DateFormat实例对象。

format: 将date对象格式化为符合某个本地环境习惯的字符串。

parse:将字符串解析为日期/时间对象

NumberFormat 可以将一个数值格式化为符合某个国家地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值

NumberFormat 类的方法:

format 方法:将一个数值格式化为符合某个国家地区习惯的数值字符串

parse 方法:将符合某个国家地区习惯的数值字符串解析为对应的数值。

实例化NumberFormat类时,可以使用locale对象作为参数,也可以不使用,下面列出的是使用参数的。

getNumberInstance(Locale locale):以参数locale对象所标识的本地信息来获得具有多种用途的NumberFormat实例对象

getIntegerInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理整数的NumberFormat实例对象

getCurrencyInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理货币的NumberFormat实例对象

getPercentInstance(Locale locale):以参数locale对象所标识的本地信息来获得处理百分比数值的NumberFormat实例对象

模式字符串:

On {0}, a hurricance destroyed {1} houses and caused {2} of damage.

MessageFormat类

MessageFormat(String pattern)  

实例化MessageFormat对象,并装载相应的模式字符串。

format(object obj[])

格式化输出模式字符串,参数数组中指定占位符相应的替换对象。

format(new Object[ ]{date, new Integer(99), new Double(1E7) })

占位符有三种方式书写方式:

{argumentIndex}: 0-9 之间的数字,表示要格式化对象数据在参数数组中的索引号

{argumentIndex,formatType}: 参数的格式化类型

{argumentIndex,formatType,FormatStyle}: 格式化的样式,它的值必须是与格式化类型相匹配的合法模式、或表示合法模式的字符串。

原创粉丝点击