JSTL与Struts的结合(七)分类:我的著作 9.5.9 用于解析数字的<fmt:parseNumber>标签
<fmt:parseNumber>标签用于解析一个数字,并将结果作为java.lang.Number类的实例返回。<fmt:parseNumber>标签看起来和<fmt:formatNumber>标签的作用正好相反。它的属性和描述如表9.22所示: 表9.22 <fmt:parseNumber>标签属性和说明
下面看一个示例。 <fmt:parseNumber value="15%" type="percent" var="num"/> 解析之后的结果为“0.15”。 9.5.10 用于格式化日期的<fmt:formatDate>标签
<fmt:formatDate>标签用于格式化日期。它的属性和描述如表9.23所示: 表9.23 <fmt:formatDate>标签属性和说明
<fmt:formatDate>标签与<fmt:timeZone>、<fmt:setTimeZone>两组标签的关系密切。若没有指定timeZone属性,也可以通过<fmt:timeZone>、<fmt:setTimeZone>两组标签设定的时区来格式化最后的结果。 9.5.11 用于解析日期的<fmt:parseDate>标签
<fmt:parseDate>标签用于解析一个日期,并将结果作为java.lang.Date类型的实例返回。<fmt:parseDate>标签看起来和<fmt:formatDate>标签的作用正好相反。它的属性和描述如表9.24所示: 表9.24 <fmt:parseDate>标签属性和说明
<fmt:parseNumber>和<fmt:parseDate>两组标签都实现解析 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 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类型的参数。 |
|