web.xml 中报错(转载)

时间:2022-12-18 06:07:39

在web.xml加入taglib

<taglib>

<taglib-uri>/WEB-INF/tiles.tld</taglib- uri>

<taglib-location>/WEB-INF/tiles.tld</taglib- location>

</taglib>

始终会报错 这是使用版本的问题 如果是2.3版本是可以直接在<web-app>里面书写

对于2.4(貌似是2.4及以后版本都是这样)的web-app,taglib标签的放置位置已经发生改变,要放在<jsp-config>标签下

<jsp-config>

<taglib>

<taglib-uri>/WEB-INF/tiles.tld</taglib-uri>

<taglib-location>/WEB-INF/tiles.tld</taglib-location>

</taglib>

</jsp-config>即可。下面给出一个完整2.5版本书写方法:

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">   <jsp-config>        <taglib>            <taglib-uri>/WEB-INF/tiles.tld</taglib-uri>            <taglib-location>/WEB-INF/tiles.tld</taglib-location>        </taglib>   </jsp-config>   </web-app>

其中,<taglib-location>/WEB-INF/tiles.tld</taglib-location>  就表明在你的项目WEB-INF下会有一个tld后缀的名为titles的文件。

<taglib-uri>/WEB-INF/tiles.tld</taglib-uri>这里应填的内容是取的tiles.tld文件里的这段话<uri>/WEB-INF/tiles.tld</uri>

那么这个tiles.tld文件是哪里来的呢    貌似可以自己编写  (当然我是不会的- -。)

我这想用的是struts2里自带的标签 所以就完全复制struts2-core-2.1.8.1.jar/META-INF/sturts-tags.tld里面的内容到tiles.tld文件里。

然后我们在JSP里写入<%@taglib  uri="/WEB-INF/tiles.tld"%> 这段话就可以用struts2自带的标签功能了。

{注意这个prefix="s" 中的s也是取的tiles.tld文件里的这段话<short-name>s</short-name>(应该是这样,我个人的猜测)}