<%@ taglib prefix="s" uri="/struts-tags"%>
2012-03-29 10:08
489 查看
这一句<%@ taglib prefix="s" uri="/struts-tags" %>就是从地址/struts-tags下面寻找标签库,可能有人会好奇这个地址在哪里呢?答案是它定义在Struts 2库文件struts2-core-2.0.11.jar里面的文件META-INF/struts-tags.tld里面,在这个文件的开头有这么一段代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>2.2.3</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>s</short-name>
<uri>/struts-tags</uri>
....
大家可以注意到粗斜体的<uri>/struts-tags</uri>刚好与JSP文件引入taglib声明里面的uri属性匹配,这样就找到了对应的标签定义位置了。Tomcat等Web服务器会自动加载所有jar文件下的META-INF子目录下的.tld标记定义文件,这也是为什么好多框架不需要把tld文件复制到WEB-INF。
1.import com.opensymphony.xwork2.ActionSupport;这个问题是The import com.opensymphony cannot be resolved 2.return SUCCESS;问题是SUCCESS cannot be resolved 3.<%@ taglib prefix="s" uri="/struts-tags" %>问题是Cannot find the tag library descriptor for "/struts-tags" 在论坛上问了下,有人说放到
tomcat/lib 或者 tomcat/shared/lib 目录下面,我把文件复制放到 tomcat/lib 后,前2个问题没有了,但是第2个问题还存在。uri此时的路径是相对路径?如果是的,那是相对哪儿的。顺便问下把struts的lib中的所有文件复制tomcat/lib 中,那以后就可以供多个项目使用?
问题补充:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>2.2.3</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>s</short-name>
<uri>/struts-tags</uri>
....
大家可以注意到粗斜体的<uri>/struts-tags</uri>刚好与JSP文件引入taglib声明里面的uri属性匹配,这样就找到了对应的标签定义位置了。Tomcat等Web服务器会自动加载所有jar文件下的META-INF子目录下的.tld标记定义文件,这也是为什么好多框架不需要把tld文件复制到WEB-INF。
1.import com.opensymphony.xwork2.ActionSupport;这个问题是The import com.opensymphony cannot be resolved 2.return SUCCESS;问题是SUCCESS cannot be resolved 3.<%@ taglib prefix="s" uri="/struts-tags" %>问题是Cannot find the tag library descriptor for "/struts-tags" 在论坛上问了下,有人说放到
tomcat/lib 或者 tomcat/shared/lib 目录下面,我把文件复制放到 tomcat/lib 后,前2个问题没有了,但是第2个问题还存在。uri此时的路径是相对路径?如果是的,那是相对哪儿的。顺便问下把struts的lib中的所有文件复制tomcat/lib 中,那以后就可以供多个项目使用?
问题补充:
我把struts2相关的文件放在WEB-INF/lib/下面了,但是import com.opensymphony.xwork2.ActionSupport;还是有问题The import com.opensymphony cannot be resolved 不知道还要怎么配置一下. <%@ taglib prefix="s" uri="/struts-tags" %>的问题Cannot find the tag library descriptor for "/struts-tags" 是在/struts-tags的/后面加个空格再删除空格后没有问题的,可能是输入法的问题,我是通过光盘上的文件直接copy的。
<%@ taglib prefix="s" uri="/struts-tags"%>是引入struts2的标签库. 你只要把struts2相关的几个lib放在你工程的WEB-INF/lib/下面就可以了. 如:struts2-core-2.0.11.1.jar ognl-2.6.11.jar oro-2.0.8.jar freemarker-2.3.8.jar struts-core-1.3.5.jar 等等. 你的第二个问题是你的配置文件中没有找到.就是说你的 src 根目录下struts.xml文件中没有你指定的action 的 result 标记.如果result不指定name属性.默认就是 SUCCESS. 你的一,三的问题就是jar包没有找到
相关文章推荐
- <%@ taglib prefix="s" uri="/struts-tags" %>地址问题
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <%@ taglib prefix="s" uri="/struts-tags" %>的问题
- Struts的常用标签<%@ taglib prefix="s" uri="/struts-tags"%>
- 论 <%@taglib prefix="s" uri="/struts-tags" %> 的重要性
- <%@ taglib prefix="s" uri="/struts-tags"%>
- 解决<%@taglib prefix="s" uri="/struts-tags"%>显示找不到
- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>标签再使用时报错
- <%@ taglib prefix="s" uri="/struts-tags" %>地址问题
- struts2标签引用<%@ taglib prefix ="s" uri="/struts-tags"%>报错
- <%@ taglib uri="http://jakarta.apache.org/taglibs/i18n" prefix="i18n" %>错误提示:找不到标签库
- <%@ taglib prefix="s" uri="/struts-tags" %>的问题
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>会报错
- <%@ taglib prefix="r" tagdir="/WEB-INF/tags/r"%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>标签再使用时报错
- Struts的常用标签<%@ taglib prefix="s" uri="/struts-tags"%>
- <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>标签再使用时总是报错
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 2.Struts的<action unknown="true">:struts-config.xml
- <%@ taglib uri="" prefix=""%> 使用