免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2503 | 回复: 0
打印 上一主题 下一主题

TOMCAT下JSTL的配置和应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-03 11:16 |只看该作者 |倒序浏览
一、在Tomcat中安装JSTL
前提 OS: WIN2003;Tomcat5.5;tomcat已经配置好。
1.准备jstl
   到
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
下载jakarta-taglibs-standard-1.1.2.zip
解压后成为jakarta-taglibs-standard-1.1.2
2.准备web开发目录
   比如我的web目录系统默认目录%tomcat_home%\webapps\ROOT下,工作目录为ROOT,也可以自定义工作目录,但必须要保证工作目录下建立WEB-INF\lib,WEB-INF\classes
3.拷贝.jar文件
   将jakarta-taglibs-standard-1.1.2\lib\下的两个jar文件:standard.jar和jstl.jar文件拷贝到工作目录的\WEB-INF\lib\下
4.拷贝.tld文件(可选)
将jakarta-taglibs-standard-1.1.2\tld\下的15个tld类型文件拷到"Working folder\WEB-INF\tld"下
5.在工作目录下的\WEB-INF\下建立web.xml文件:(可选)
  

    http://java.sun.com/jstl/fmt
    /WEB-INF/tld/fmt.tld
    http://java.sun.com/jstl/fmt-1_0
    /WEB-INF/tld/fmt-1_0.tld
    http://java.sun.com/jstl/fmt-1_0-rt
    /WEB-INF/tld/fmt-1_0-rt.tld
    http://java.sun.com/jstl/core
    /WEB-INF/tld/c.tld
    http://java.sun.com/jstl/core-1_0-rt
    /WEB-INF/tld/c-1_0-rt.tld
    http://java.sun.com/jstl/core-1_0
    /WEB-INF/tld/c-1_0.tld
    http://java.sun.com/jstl/sql
    /WEB-INF/tld/sql.tld
    http://java.sun.com/jstl/sql-1_0
    /WEB-INF/tld/sql-1_0.tld
    http://java.sun.com/jstl/sql-1_0-rt
    /WEB-INF/tld/sql-1_0-rt.tld
    http://java.sun.com/jstl/x
    /WEB-INF/tld/x.tld
    http://java.sun.com/jstl/x-1_0
    /WEB-INF/tld/x-1_0.tld
    http://java.sun.com/jstl/x-1_0-rt
    /WEB-INF/tld/x-1_0-rt.tld
    http://java.sun.com/jstl/fn
    /WEB-INF/tld/fn.tld
    http://java.sun.com/jstl/permittedTaglibs
    /WEB-INF/tld/permittedTaglibs.tld
    http://java.sun.com/jstl/scriptfree
    /WEB-INF/tld/scriptfree.tld

提示:
In addition to declaring the tag libraries, tutorial examples access the JSTL API and implementation. In the Application Server, the JSTL TLDs and libraries are distributed in the archive /lib/appserv-jstl.jar. This library is automatically loaded into the classpath of all web applications running on the Application Server, so you don't need to add it to your web application.

以上摘自j2ee的tutorial,说明步骤四、五中的TLD文件注册部分是可以省略的,WEB工程能自动的从jar包中加载相应的标签库。

6.建立一个名为test.jsp文件
测试你的第一个使用到JSTL 的网页
你使用的浏览器是:
7.显示结果:
欢迎测试你的第一个使用到JSTL 的网页
你使用的浏览器是:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SailBrowser; .NET CLR 1.1.4322) David O'Davies
8.注意的问题
主要的一个问题还是路径的问题,笔者配置了好几次都不能成功,就是把工作目录给弄错了,把项目的目录误认为是工作目录,一直在项目的目录下配置文件,其实应该在工作目录下配置,当然可以把工作目录改成项目的目录,问题也就可以解决了。
9.常出现的问题和提示:
org.apache.jasper.JasperException: The absolute uri:
http://java.sun.com/jstl/core
cannot be resolved in either web.xml or the jar files deployed with this application
出现这个问题主要一种可能是工作目录的\WEB-INF\lib\下缺少standard.jar和jstl.jar文件,另外一种可能是web.xml没有进行TAG的正确配置。
According to TLD or attribute directive in tag file, attribute value does not accept any expressions
应用部署运行的时候出现JSP异常, 发生在使用JSTL库的时候: According to TLD or attribute directive in tag file, attribute value does not accept any expressions, 可能是因为使用了JSP2.0版本, 同时又没有使用JSTL core库的备用版本(RT库), 以下有两种处理方法:
a. 修改web.xml.
改为2.3版本的
b. 使用JSTL core RT库
JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL)
JSP中使用在2.3版本都可以,在2.4就不行了, 难道是版本不兼容吗?
只要将
改为
就没有问题了
三、标签的使用
C标准标签库
Taglib-http://java.sun.com/jstl/core
基础:
1.jsp页面引入C标签库:
   //引入标签库 前缀为c
2.c标签库的标签列表
   
C标签库例举
标签名   用处
   
   
   
   
   
   
   把对象的数值输出到JspWriter
   
   
   删除某个变量或属性
   
   
   1.   用于在某个作用范围(Request、Session、Application等)中设置某个值
2.   设置某个对象的属性
   捕获嵌在它里面的标签抛出异常
(1)标签
作用: 捕获嵌在它里面的标签抛出异常
c:catch标签演示
   //设置异常句柄,好比JAVA的 Exception e一样
异常:

(2)标签
作用: 1.用于在某个作用范围(Request、Session、Application等)中设置某个值
2.设置某个对象的属性
//引入标签库,设置前缀
演示c:set标签
   
//相当于request.setAttribute(“objInRequest”,”abcStr”)
//在request中获取objInRequest属性,将其值输出到JspWriter
User.java //这是一个javabean对象的定义
package dev;
public class User{
public int id;
public String username;
public String password;
//public TYPE getter….
//public void setter….
}
//JSP页面
演示c:set标签
This is my password //注意,这里的password的value的值也可以赋值在也可以
ID:
User:
PWD:
3.标签
作用: 把对象的数值输出到JspWriter
属性:
属性说明
属性   类型   描述
value   Object   计算的表达式
escapeXml   Boolean   是否将转换成字符实体代码,默认为true
default   Object   D当value的对象不存在时(null),就输出这个default的值

本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/rocket5725/archive/2009/03/31/4038403.aspx
      


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35830/showart_2085272.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP