dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>jsp>文章内容
JSP入门实例教程7-JSTL+EL语言的应用例子
来源: 作者:

   jstl是sun公司推出的标准标签库,也就是SUN公司写了很多自定义标签让我们大家用的。英文是jsp standard tag library

1.准备jstl
   http://apache.towardex.com/jakarta/taglibs/standard/下载jakarta-taglibs-standard-current.zip
解压后成为jakarta-taglibs-standard-1.1.1

2.拷贝.jar文件
   jakarta-taglibs-standard-1.1.1\lib\下的两个jar文件:standard.jarjstl.jar文件拷贝到我们自己在tomcat安装目录的webapps下的testjstl文件夹下的WEB-INF\lib\

3.拷贝.tld文件
 jakarta-taglibs-standard-1.1.1\tld\下的8tld类型文件拷到"testjstl\WEB-INF\"

4.\WEB-INF\下建立web.xml文件:
  <?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
 
  <taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-1_0.tld</taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-1_0-rt.tld</taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c-1_0.tld</taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
    <taglib-location>/WEB-INF/c-1_0-rt.tld </taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql-1_0.tld </taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
    <taglib-location>/WEB-INF/sql-1_0-rt.tld </taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x-1_0.tld </taglib-location>
</taglib>

<taglib>
    <taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
    <taglib-location>/WEB-INF/x-1_0-rt.tld </taglib-location>
</taglib>

</web-app>
5.建立一个名为test.jsp文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>
测试你的第一个使用到JSTL 的网页</title>
</head>
<body>
<c:out value="
欢迎测试你的第一个使用到JSTL 的网页"/>
</br>
你使用的浏览器是:</br>
<c:out value="${header['User-Agent']}"/>
<c:set var="a" value="
百家拳软件教程网 " />
<c:out value="
百家拳软件教程网" escapeXml="true"/>
</body>
</html>

6.开启tomcat,进行调试,wm~sJ(H73F${Z+X_网网n&FHjzk"t{QK00+3r!Mz@SA

.Wp垠的网]c+==l8)u'(%

h@jP教的0\rD,Y+.我的输出结果是

欢迎测试你的第一个使用到JSTL 的网页
你使用的浏览器是:

Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7
百家拳软件教程网

完成上面这三步后,说明你的JSTL安装成功了。

EL表达式语言

JSP2.0的一个主要的组件就是这个新的叫做EL的表达式语言。EL被广泛用在JSTL中。然而,重要的是记住,ELJSP的功能而不是 JSTL的。被用在JSP2.0JSP scriptlet代码能够包含EL表达式。下面这行代码演示了JSP scriptlet代码中的EL

<p>
  Your total, including shipping is ${total+shipping}
</p>

正如你看到的,totalshipping相加后会产生HTML并且在浏览器中显示它们的值。这些表达式也可以在JSTL标签中使用。 JSTL1.0的一个重要问题是,JSTL不能用在JSP1.2的版本上。因为JSP1.2不支持EL,所以有必要提供一些额外的JSTL标签来帮助EL 的使用。例如,如果你想使用JSTL来显示上面的表达式,你可以使用下面的代码。

<p>
  Your total, including shipping is <c:out var="${total+shipping"/>
</p>

值得注意的是,JSTL不需要JSP2.0来运行。通过提供一个能够显示EL表达式的标签,就可以达到这样的需求。

 

我们将考察一个简单的使用JSTL的范例。在这个例子里,我们将考察Web应用中的一个常见过程。我们会看到如何提交(POST)一个表单,并处理POST的结果。程序代码如下:

test1.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
  <head>
    <title>If with Body</title>
  </head>

  <body>
    <c:if test="${pageContext.request.method=='POST'}">
      <c:if test="${param.guess=='Java'}">You guessed it!
      <br />

      <br />

      <br />
      </c:if>

      <c:if test="${param.guess!='Java'}">You are wrong
      <br />

      <br />

      <br />
      </c:if>
    </c:if>

    <form method="post">Guess what computer language
                        I am thinking of?
    <input type="text" name="guess" />

    <input type="submit" value="Try!" />

<br/>
    </form>
  </body>
</html>

例子下载

这个简单的Web页面显示一个表单,要求用户猜测程序所想的计算机语言。当然,计算机想的是“Java”。这个页面通过检查是否已提交来开始。这使得表单和处理表单的代码可以放在同一个页面中。是通过下面的JSTL if语句实现的。

<c:if test="${pageContext.request.method=='POST'}">

现在你看到了,<c:if>标签使用EL表达式来决定是否请求的方式是POST的。如果数据被post到页面,那么用户输入的他们的猜 想值就会存储在名为“guest”的参数中。这是因为“guest”是表单输入项的名字。我们现在必须检查是否这个参数等于“Java”。这个是通过下面 <c:if>标签来完成:

<c:if test="${param.guess=='Java'}">
          You guessed it!
      </c:if>

正如你所看到的,如果表达式为true<c:if>标签的标签体就被执行。在本文中,我们开始考察了JSTL如何被安装,以及它是如何运转的,也提供了一些JSTL小范例帮助大家理解。

JSTL的核心标签也包含循环,叠代器和变量处理。通过使用标签,你能在collections里进行iterate,访问用户的会话数据(session data),执行其他的核心任务等。除了核心标签库,XML,数据库和格式化标签库也提供了更多高级的用处。

我们下节将讲一讲jsp的错误处理


上一篇:JSP入门实例教程8-jsp错误处理   下一篇:JSP入门实例教程6-jsp自定义标签讲解
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JSP入门实例教程
·什么是Servlet
·JSP常用内置对象使用说明
·JSP自定义标签由浅到深详细讲解
·JSP自定义标签由浅到深详细讲解
·Java Servlet技术
·Javax.servlet API的特征
·一个简单的jsp注册页面
·JSTL操作数据库示例
·JSP入门实例教程13-MVC模式
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程11-jstl处理xml
  相关文章
·JSP入门实例教程8-jsp错误处理
·JSP入门实例教程6-jsp自定义标签
·JSP入门实例教程9-jsp的权限设置
·JSP入门实例教程5-简单的动作标
·JSP入门实例教程10-jstl国际化
·JSP入门实例教程4-jsp内置对象
·JSP入门实例教程11-jstl处理xml
·JSP入门实例教程3-jsp基本语法
·JSP入门实例教程12-jstl处理数
·JSP入门实例教程2(2)-jsp和servl
·JSP入门实例教程13-MVC模式
·JSP入门实例教程2(1)-jsp与tomca
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763