关于tomcat文件及配置如何才能在JSP中使用JSTL和EL

zhou8051 2007-10-08 04:04:00
我没有用IDE,服务器是tomcat5.5在webapps下新建了fistjsp目录,此目录有WEB-INF子目录和fist.jsp文件。我的fist.jsp文件内容如下:
<%@ page contentType="text/html" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>1st jsp</title>
</head>
<body>
this is fistjsp!
<br />
1+2+3=<c:out value="${1+2+3}" />
</body>
</html>
请问我的应该在WEB-INF目录下放置什么文件(或应该放什么包)怎样设置这些文件(如web.xml)才能正常运行?
...全文
612 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ding956746753 2012-02-22
  • 打赏
  • 举报
回复
谢谢,找了好久,终于找着了
哒哒 2008-07-22
  • 打赏
  • 举报
回复
安装Myeclipse下,自动安装了JSTL,
lanfanghelanfanghe 2007-10-12
  • 打赏
  • 举报
回复
只需要把 jstl-1.1.2.jar和standard.jar两个jar包放到web-inf的lib目录下即可

xiyuan1999 2007-10-12
  • 打赏
  • 举报
回复
帮顶

结贴了哦
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
2.4及以后写成(JSTL1.1)
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


不是LZ的

<%@ page contentType="text/html" % >
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" % >
<html >
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
找到官方下载地址:
http://jakarta.apache.org/site/downloads/downloads_taglibs.html
选择 Standard 1.0 Taglib 和Standard 1.1 Taglib 可以下载jstl1.0和jstl1.1版本。
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
把tld目录下的c.tld拷贝到/WEB-INF
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
JSTL1.1的库 在JSP2.0(Servlet 2.4)及以后(推荐用JSTL1.1及以上)用:


代码
<%@taglib prefix="c" uri="http://java.sun.com/<span style="color:red;">jsp</span>/jstl/core" %>


web.xml

代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
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" >
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
</web-app>
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
参考:
http://blog.csdn.net/sdlcn/archive/2004/10/19/142733.aspx
xiyuan1999 2007-10-08
  • 打赏
  • 举报
回复
在Tomcat中安装JSTL
前提 OS: WIN2000
tomcat已经配置好(tomcat可以到http://jakarta.apache.org/tomcat 下载)
开始实战啦
1.准备jstl
到http://apache.towardex.com/jakarta/taglibs/standard/下载jakarta-taglibs-standard-current.zip
解压后成为jakarta-taglibs-standard-1.1.1

2.准备web开发目录
比如我的web目录为h:webappmyweb(当然可以把你的web应用放在%tomcat_home%webapps),称为工作目录 Working folder,在工作目录h:webappmyweb下建立WEB-INFlib,WEB-INFclasses

3.拷贝.jar文件
将jakarta-taglibs-standard-1.1.1lib下的两个jar文件:standard.jar和jstl.jar文件拷贝到WEB-INFlib下

4.拷贝.tld文件
将jakarta-taglibs-standard-1.1.1tld下的8个tld类型文件拷到"Working folderWEB-INF"下

5.在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.tld</taglib-location>
</taglib>

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

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

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

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

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

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

<taglib>
<taglib-uri>;http://java.sun.com/jstl/x-rt<;/taglib-uri>
<taglib-location>/WEB-INF/x-rt.tld</taglib-location>
</taglib>
</web-app>
6.建立一个名为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="David O´Davies" />
<c:out value="David O´Davies" escapeXml="true"/>
</body>
</html>

7.开启tomcat,进行调试,我的输出结果是

欢迎测试你的第一个使用到JSTL 的网页
你使用的浏览器是:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) David O´Davies

注:如果你的tld文件个数为15个,在上面的web.xml中<taglib-location>中更改。如果想要请和我联系
cnsdl@126.com

=======================================
相关文件,不但要知道它是用来干什么的(what),还要知道把它放在那里(where).相关文件放到哪里,如何进行注册与配置对与jstl,JNDI,servlet,javabeans.
WEB-INF:包含

lib目录
web.xml配置描述符文件
classes目录
8个tld文件 WEB-INFlib:所有的jar包文件,包括standard.jar和jstl.jar WEB-INFclasses:Servlet和JavaBeans文件编译后类文件
今天做项目,用到了el表达式和jstl,在tomcat6.0上跑得好好的,没想到copy到tomcat5.5后,服务器起不来了,是tomcat版本的问题。查阅了不少资料,现在总结如下: 错误信息: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory 分析:少包,上网查阅后发现解决方法 解决方法:将javaee.jar包再copy一份放在tomcat目录的common\lib下 如上完成后即解决了该异常,大以为大功告成,没想到又出现了新异常 错误信息:java.lang.NoSuchMethodError: javax.servlet.JSP.PageContext.getELContext()LJAVAx/el/ELContext 分析:这个问题网上找了半天没看到解决方法,只好自己想办法。想起先前看到的一个知识点:tomcat 6 实现了 servlet 2.5 和JSP2.1的规范相应的 tomcat 5 实现的是 2.4和2.0,想到tomcat5不支持JSTL1.2,于是替换JSTL1.1的包试试看后,问题解决 解决方法:移出工程lib目录JSTL1.2.jar,添加standard-1.1.jar和JSTL1.1.jar 总结: jstl1.1版本由2个必要包构成:standard-1.1.jar和JSTL1.1.jar;而jstl1.1版本只有一个必要包JSTL1.2.jar。(一开始在替换的过程想当然的用JSTL1.1.jar换JSTL1.2.jar,然后遗漏了standard-1.1.jar,耽搁了不少时间。) 经测试,tomcat6.0支持JSTL1.2版本,也支持JSTL1.1版本;tomcat5.5只支持JSTL1.1(JSTL1.1一下版本未测试) 不建议将2个版本的3个包同时放在工程,可能会发生版本冲突。(另外,实际操作的时候发现JSTL1.2.jar和JSTL1.1.jar这2个包放一起可以在tomcat5.5和tomcat6.0上跑,鉴于JSTL1.1.jar里面没有c.tld等文件,猜测JSTL1.1.jar里面只是放置了1.1的专用的类和信息)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧