myeclipse中导入使用JSTL

一.导入JSTL

方法一:

右键你的项目,选择myeclipse中的add jstl library选项

方法二:

新建一个工程,在JSTL Support那一栏中的Add JSTL libraries to WEB_INF/lib folder打勾,点完成即可。


 二.使用JSTL

一、JSTL 简介
JSP标准标记库(JSP Standard Tag Library,JSTL)是一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。
JSTL 1.0 有四个定制标记库:core、format、xml 和 sql.
1.core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。
2.format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。
3.xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据。
4.sql 库定义了用来查询关系数据库的操作。

二、表达式语言(Expression Language)
1.隐含对象(常用)
1)requestScope:与请求作用域属性的名称和值相关联的 Map 类
2)sessionScope:与会话作用域属性的名称和值相关联的 Map 类  
3)applicationScope:与应用程序作用域属性名称和值相关联的 Map 类
4)pageScope:与页面作用域属性的名称和值相关联的 Map 类
5)param:按名称存储请求参数的主要值的 Map 类
6)paramValues:请求参数的所有值作为 String 数组存储的 Map 类
2.EL 表达式的格式:
用美元符号($)定界,内容包括在花括号({})中,eg:${value}
3.EL的存取器:使用点运算符(.)和方括号运算符([]).
1)点运算符通常用于访问对象的特性。例如,在表达式 ${user.firstName} 中,使用点运算符来访问 user 标识符所引用对象的名为 firstName 的特性。
2)方括号运算符用来检索数组和集合的元素。在数组和有序集合的情况下,把要检索的元素的下标放在方括号中。对于实现 java.util.Map 接口的集合,方括号运算符使用关联的键查找存储在映射中的值。在方括号中指定键,并将相应的值作为表达式的值返回。
3)点运算符和方括号运算符可能实现某种程度的互换
4.EL运算符
1)算术运算符: +、-、*、/(或 div)和 %(或 mod)
2)关系运算符: ==(或 eq)、!=(或 ne)、<(或 lt)、>(或 gt)、<=(或 le)和 >=(或 ge)
3)逻辑运算符: &&(或 and)、||(或 or)和 !(或 not)
4)验证运算符: empty
三、常用的JSTL core tag
1.set定义变量标记:定义限制了作用域的变量
Syntax:
1):
2): body content 
2.out打印标记:显示表达式的值,取代jsp scriptlet中的<%=variableName%>
Syntax:
1): default value
2):
3.forEach循环标记(for/while):提供指定的循环次数(适用syntax 2)或在某个数据结构(Collection/Array)(适用syntax 1)上进行循环的能力
Syntax:
1): body content
2): body content
4.forTokens循环标记:允许对一个String值进行循环,使用所选择的字符作为记号(token)之间的定界符
Syntax:
body content
5.if条件求值标记(if):只在指定的测试条件为真时求具体的值,没有”else”条件—要么执行要么忽略执行体
Syntax:
1):
2):body content
6.choose条件求值标记(switch-case/if-else):使用嵌套when标记(类似case)和otherwise标记(可选,类似default)
Syntax:
1): body content ( and subtags)
2):body content
3): conditional block
7.remove 删除变量标记:用来删除限制了作用域的变量的
Syntax:

四、开始使用JSTL
1.必需的文件:
1)jar档:jstl.jar,standard.jar.一般是放置在lib目录下
2)tld文件:c.tld,一般会是在WEB-INF目录下,依tld文件的位置修改web.xml文档
3)一个web.xml的例子:



 
    http://java.sun.com/jstl/core
    /WEB-INF/c.tld
 
   

2.在JSP页面中声明标记库:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
五、参考资料
JSTL规范:http://java.sun.com/products/jsp/jstl/index.jsp

ibm:    http://www.ibm.com/developerworks/cn/java/j-jstl0211/
JSTL 1.0相关下载:http://www.apache.org/dist/jakarta/taglibs/standard-1.0/
JSTL1.0规范书:http://www.jcp.org/aboutJava/communityprocess/first/jsr052/index.html
表达式语言:http://www-900.ibm.com/developerWorks/cn/java/j-jstl0211/
六、综合使用Core Tag的例子:
<%@ page contentType="text/html; charset=GBK" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>


<br>UseJSTLCoreTag<br>



JSTL Core Tag


taglib declare

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

 
   
   
   
 
 
   
   
   
 
 
   
   
   
 
 
   
   
   
 
 
   
    
 
 
   
   
   
 
 
   
   
   
 
 
   
   
   
 
 
   
   
   
 
Tag
   

      Example
   

      Result
   

      set
   

      <c:set value="sessionVariableValue" scope="session" var="sessionVariable"/>
   

       
   
out
   

      <c:out value="${sessionScope.sessionVariable}" default="none" escapeXml="false"/>  

     

      <c:out value="${sessionScope['sessionVariable']}" default="none" escapeXml="false"/>
   

       

     

     
   

      remove
   

      <c:remove var="sessionVariableValue" scope="session"/>
   

     
   

      after remove,<c:out value="${sessionScope.sessionVariable}" default="none" escapeXml="false"/>
   

     
   

      forEach
   

      <table>
        <tr>
      <c:forEach begin="1" end="10" step="1" var="loop">
        <td>
        <c:out value="${loop}"/>
        </td>
      </c:forEach>
        </tr>
      </table>
   

     
       
     
       

     
       
     

       
       

   

      forTokens
   

      <c:forTokens var="token" delims="#,;4" items="0#1,2,34,5,6,7;8,9,A,B,C#,;4D" begin="3" end="10" step="2">
        <c:out value="${token}">
        </c:out>
      </c:forTokens>
   

     
       
       

     

   

      if
   

      <c:if test="${sessionScope.sessionVariable=='none'}">
        There is not sessionVariable
      </c:if>
     

      <c:if test="${sessionScope.sessionVariable!='none'}">
        The value of sessionVariable is not none
      </c:if>
   

     
        There is not sessionVariable
     

     
        The value of sessionVariable is not none
     

   

      choose
   

      <c:choose>

        <c:when test="${empty sessionScope.sessionVariable}">

          There is not sessionVariable
        </c:when>

        <c:otherwise>

          The value of sessionVariable is not none
        </c:otherwise>

      </c:choose>

   

     
       
          There is not sessionVariable
       

       
          The value of sessionVariable is not none
       

     

   


 
   
     

       
     
   
 

         
       

 
 

<c:out value="param.hiddenVar" default="none"/>



  after click submit button,display following:


you select:

 
  ,
 



请通过参看该页源文件的下列部分以体验out标记的escapeXml属性的作用。


 

<&>


set escapeXml=false,output:

set escapeXml=true,output:



 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/baobeisimple/archive/2007/02/08/1505243.aspx

你可能感兴趣的:(myeclipse,application,session,token,jsp,c)