JSTL与Struts的结合(七)
2013-04-23 12:59
197 查看
用于解析数字的<fmt:parseNumber>标签
<fmt:parseNumber>标签用于解析一个数字,并将结果作为java.lang.Number类的实例返回。<fmt:parseNumber>标签看起来和<fmt:formatNumber>标签的作用正好相反。它的属性和描述如表9.22所示:表9.22 <fmt:parseNumber>标签属性和说明
属性 | 描述 |
value | 将被解析的字符串 |
type | 解析格式化的类型 |
pattern | 解析格式化模式 |
var | 结果保存变量,类型为java.lang.Number |
scope | 变量的作用范围 |
parseLocale | 以本地化的形式来解析字符串,该属性的内容应为String或java.util.Locale类型的实例 |
<fmt:parseNumber value="15%" type="percent" var="num"/>
解析之后的结果为“0.15”。
9.5.10 用于格式化日期的<fmt:formatDate>标签
<fmt:formatDate>标签用于格式化日期。它的属性和描述如表9.23所示:表9.23 <fmt:formatDate>标签属性和说明
属性 | 描述 |
value | 格式化的日期,该属性的内容应该是java.util.Date类型的实例 |
type | 格式化的类型 |
pattern | 格式化模式 |
var | 结果保存变量 |
scope | 变量的作用范围 |
timeZone | 指定格式化日期的时区 |
9.5.11 用于解析日期的<fmt:parseDate>标签
<fmt:parseDate>标签用于解析一个日期,并将结果作为java.lang.Date类型的实例返回。<fmt:parseDate>标签看起来和<fmt:formatDate>标签的作用正好相反。它的属性和描述如表9.24所示:表9.24 <fmt:parseDate>标签属性和说明
属性 | 描述 |
value | 将被解析的字符串 |
type | 解析格式化的类型 |
pattern | 解析格式化模式 |
var | 结果保存变量,类型为java.lang.Date |
scope | 变量的作用范围 |
parseLocale | 以本地化的形式来解析字符串,该属性的内容为String或java.util.Locale类型的实例 |
timeZone | 指定解析格式化日期的时区 |
9.6 Database access标签库
Database access标签库中的标签用来提供在JSP页面中可以与数据库进行交互的功能,虽然它的存在对于早期纯JSP开发的应用以及小型的开发有着意义重大的贡献,但是对于MVC模型来说,它却是违反规范的。因为与数据库交互的工作本身就属于业务逻辑层的工作,所以不应该在JSP页面中出现,而是应该在模型层中进行。对于Database access标签库本书不作重点介绍,只给出几个简单示例让读者略微了解它们的功能。
Database access标签库有以下6组标签来进行工作:<sql:setDataSource>、<sql:query>、<sql:update>、<sql:transaction>、<sql:setDataSource>、<sql:param>、<sql:dateParam>。
9.6.1 用于设置数据源的<sql:setDataSource>标签
<sql:setDataSource>标签用于设置数据源,下面看一个示例:<sql:setDataSource
var="dataSrc"
url="jdbc:postgresql://localhost:5432/myDB"
driver="org.postgresql.Driver"
user="admin"
password="1111"/>
该示例定义一个数据源并保存在“dataSrc”变量内。
9.6.2 用于查询的<sql:query>标签
<sql:query>标签用于查询数据库,它标签体内可以是一句查询SQL。下面看一个示例:<sql:query var="queryResults" dataSource="${dataSrc}">
select * from table1
</sql:query>
该示例将返回查询的结果到变量“queryResults”中,保存的结果是javax.servlet.jsp.jstl.sql.Result类型的实例。要取得结果集中的数据可以使用<c:forEach>循环来进行。下面看一个示例。
<c:forEach var="row" items="${queryResults.rows}">
<tr>
<td>${row.userName}</td>
<td>${row.passWord}</td>
</tr>
</c:forEach>
“rows”是javax.servlet.jsp.jstl.sql.Result实例的变量属性之一,用来表示数据库表中的“列”集合,循环时,通过“${row.XXX}”表达式可以取得每一列的数据,“XXX”是表中的列名。
9.6.3 用于更新的<sql:update>标签
<sql:update>标签用于更新数据库,它的标签体内可以是一句更新的SQL语句。其使用和<sql:query>标签没有什么不同。9.6.4 用于事务处理的<sql:transaction>标签
<sql:transaction>标签用于数据库的事务处理,在该标签体内可以使用<sql:update>标签和<sql:query>标签,而<sql:transaction>标签的事务管理将作用于它们之上。<sql:transaction>标签对于事务处理定义了read_committed、read_uncommitted、repeatable_read、serializable4个隔离级别。
9.6.5 用于事务处理的<sql:param>、<sql:dateParam>标签
这两个标签用于向SQL语句提供参数,就好像程序中预处理SQL的“?”一样。<sql:param>标签传递除java.util.Date类型以外的所有相融参数,<sql:dateParam>标签则指定必须传递java.util.Date类型的参数。相关文章推荐
- JSTL与Struts的结合(一)
- [置顶] JSTL与Struts的结合(九)
- JSTL与Struts的结合(二)
- JSTL与Struts的结合(六)
- JSTL与Struts的结合(三)
- JSTL与Struts的结合(五)
- JSTL与Struts的结合(一)
- JSTL与Struts的结合(四)
- JSTL与Struts的结合(二)
- JSTL与Struts的结合(三)
- JSTL与Struts的结合
- JSTL与Struts的结合(三)
- [置顶] JSTL与Struts的结合(三)
- JSTL与struts的结合
- jstl 结合struts 版本问题 According to TLD or attribute directive in tag file
- [置顶] JSTL与Struts的结合(四)
- JSTL与Struts的结合(四)
- JSTL与Struts的结合
- [置顶] JSTL与Struts的结合(五)
- JSTL与Struts的结合(五)