jstl简单介绍_081205

来源:互联网 发布:c语言预处理命令三种 编辑:程序博客网 时间:2024/06/07 00:59
 今天开始学习本该早已经学会的jstl标签库,jstl是什么呢,它可以做什么,不可以做什么呢?
JSTL简单的说是一个group编写的自定义标签,但它能解决什么问题呢,我们看看在没有标签的情况下的JSP页面代码:
<html> 
<head>
<title>Count to 10 in JSP scriptlet</title>
</head>
<body>
<%
for(int i=1;i<=10;i++)
{%>
<%=i%><br/>
<%
}
%>
</body>
</html>
1.很明显可读性差,混合使用带来页面美工人员与后台程序员工作很难分离2.计算机很难读取JAVA代码与HTML的混合代码,使一些网页编辑软件产生不可编辑块。
JSTL解决了以上问题,它带来的优点:可以取代直接嵌入页面的代码片段,从而提高程序的可读性和可维护性。如下:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>Count to 10 Example (using JSTL)</title>
</head>

<body>
<c:forEach var="i" begin="1" end="10" step="1">
<c:out value="${i}" />

<br />
</c:forEach>
</body>
</html>
 
JSTL分为:标签库和EL
标签库:
Core  支持JSP中的一些基本的操作;
XML   processing支持XML文档的处理;
I18N  capable formatting支持对JSP页面的国际化;
Database access (SQL)支持JSP对数据库的操作。
  1. 分类                            URI                                                   Prefix
  2. 核心标记库         http://java.sun.com/jsp/jstl/core                    c
  3. XML标记库        http://java.sun.com/jsp/jstl/xml                    x
  4. 格式标记库         http://java.sun.com/jsp/jstl/fmt                   fmt
  5. SQL标记库          http://java.sun.com/jsp/jstl/sql                    sql
  6. 函数标记库         http://java.sun.com/jsp/jstl/functions          fn

 

EL:

    EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。
   在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。

<jsp:setProperty name="user" property="timezonePref"                 value='<%= request.getParameter("timezone") %>'/>

因为请求时属性值是用表达式指定的,所以它们往往有和其它脚本元素一样的软件维护问题。因此,JSTL 定制标记支持另一种用于指定动态属性值的机制,如下:

<c:out value="${user.firstName}"/>
限制了作用域的变量
查找顺序:PAGE->REQUEST->SESSION->APPLICATION
在 EL 中,与隐式对象无关联的标识符被认为是存储在四个 JSP 作用域中的名称对象。
首先对页面作用域检查是否存在这样的标识符,其次对请求作用域、然后对会话作用域、最后对
应用程序作用域依次进行这样的检查,然后测试该标识符的名称是否与存储在该作用域中的某个对象的名称匹配。
第一个这样的匹配作为 EL 标识符的值被返回。通过这种方法,可以将 EL 标识符看作引用限制了作用域的变量。

存取器

因为 EL 标识符是作为隐式对象或限制了作用域的变量(通过属性来实现)解析的,因此有必要将它们转换成 Java 对象。

EL 提供了两种不同的存取器(点运算符(.)和方括号运算符([])),也支持通过 EL 操作特性和元素。

如:${commands["dir"]} ,${urls[3].protocol}


 

 

 

原创粉丝点击