请教各位关于Tiles框架的问题? 本帖最后由 hnalenx 于 2010-10-22 22:36:27 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是tiles文件存放的路径不对,也可能是你的struts。xml文件中指定的tiles配置文件的路径指定错了 我现在已经把jsp的引入tiles标签的语句改成从项目的WEB-INF文件夹中引入, 即我将页面引入tiles标签的语句改为<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>,struts-config.xml文件中加载插件的代码如下:<plug-in className="org.apache.struts.tiles.TilesPlugin" > <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/> <set-property property="definitions-parser-validate" value="true" /> </plug-in>tiles-defs.xml配置文件如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_3.dtd"><tiles-definitions> <definition name="templatePage" path="/TilesLayout/tilesLayout.jsp"> <put name="logoImage" value="/TilesLayout/top.jsp"></put> <put name="nav" value="/TilesLayout/left_nav.jsp"></put> <put name="content" value="/TilesLayout/content.jsp"></put> <put name="Author" value="/TilesLayout/Author.jsp"></put> </definition></tiles-definitions>模版页面的关键代码如下: <div id="top"><tiles:insert attribute="logoImage"></tiles:insert></div> <div id="nav_left"><tiles:insert attribute="nav"></tiles:insert></div> <div id="con"><tiles:insert attribute="content"></tiles:insert></div> <div id="au"><tiles:insert attribute="author"></tiles:insert></div>访问模版页错误提示如下:[code=Java]org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:281) org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:419) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:383) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:446) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1393) org.apache.jasper.compiler.Parser.parse(Parser.java:130) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185) org.apache.jasper.compiler.Compiler.compile(Compiler.java:347) org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) cn.edu.zjut.Servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)root cause java.lang.ClassNotFoundException: org.apache.struts.taglib.tiles.UseAttributeTei org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361) org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:416) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:383) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:446) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1393) org.apache.jasper.compiler.Parser.parse(Parser.java:130) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255) org.apache.jasper.compiler.ParserController.parse(ParserController.java:103) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185) org.apache.jasper.compiler.Compiler.compile(Compiler.java:347) org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) cn.edu.zjut.Servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)code]各位再看看怎么回事啊? 求助,关于在Java类中清除cookie的问题 struts2文件下载报错 有没有什么工具统计svn提交的add及update的代码行数 求助:Struts验证错误显示 还是接口 不能存到数据库 mysql问题,紧急,请高手指点!!! struts 中图片显示问题 请问那里有jbuilder开发spring的插件下载 拿什么来拯救你---我的多条记录?---小插曲!!! J2EE的sdk和SE的有什么不同? myeclipse jsp中怎么不能自动提示啊
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
tiles-defs.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://jakarta.apache.org/struts/dtds/tiles-config_1_3.dtd">
<tiles-definitions>
<definition name="templatePage" path="/TilesLayout/tilesLayout.jsp">
<put name="logoImage" value="/TilesLayout/top.jsp"></put>
<put name="nav" value="/TilesLayout/left_nav.jsp"></put>
<put name="content" value="/TilesLayout/content.jsp"></put>
<put name="Author" value="/TilesLayout/Author.jsp"></put>
</definition>
</tiles-definitions>
模版页面的关键代码如下:
<div id="top"><tiles:insert attribute="logoImage"></tiles:insert></div>
<div id="nav_left"><tiles:insert attribute="nav"></tiles:insert></div>
<div id="con"><tiles:insert attribute="content"></tiles:insert></div>
<div id="au"><tiles:insert attribute="author"></tiles:insert></div>
访问模版页错误提示如下:
[code=Java]org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: org.apache.struts.taglib.tiles.UseAttributeTei
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:281)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:419)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:383)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:446)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1393)
org.apache.jasper.compiler.Parser.parse(Parser.java:130)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
cn.edu.zjut.Servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)
root cause java.lang.ClassNotFoundException: org.apache.struts.taglib.tiles.UseAttributeTei
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:416)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:250)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:163)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:383)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:446)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1393)
org.apache.jasper.compiler.Parser.parse(Parser.java:130)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:347)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
cn.edu.zjut.Servlet.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)
code]
各位再看看怎么回事啊?