Struts-在JSP页面中由Struts提供的.tld的Taglib指令 [英] Struts - Taglib directive in a JSP page for .tld provided by Struts
问题描述
我正在开发基于 Struts
的应用程序.我是Struts的新手.我想使用 html
标记,该标记在 JSP
页面的 Struts
提供的taglib目录中指定.
I am developing a Struts
based application. I am new to Struts. I want to use html
tags , specified in a taglib directory provided by Struts
, in a JSP
page.
但是不知道如何使用它.我知道如何使用taglib指令,但是从消息源中得知.tld文件已在1.2.8版之后嵌入到.jar文件中.我正在使用Struts 2.1.8版.
But don't know how to use it. I know how to use taglib directive but I came to know from sources that the .tld file has been embedded in a .jar file after version 1.2.8. I am using Struts version 2.1.8.
我不知道 struts-html.tld
文件位于哪个.jar文件中.
I don't know in which .jar file the struts-html.tld
file is located.
推荐答案
我正在使用Struts 1.3.10进行演示:
I'm using Struts 1.3.10 for this illustration:
- 在此处下载最新的struts库( http://struts.apache.org/download.cgi#struts1310 ).请记住,完整发行版是您必须下载的文件,因为它包含带有Struts TLD的战争文件.
- 在您的Web应用程序上,将下载的存档文件中的所有lib复制到您的
/WEB-INF/lib
文件夹中. - 对于JSTL库(与struts一起使用很好),请转到此处(> http://java.sun.com/products/jsp/jstl/)
- 一旦拥有Struts TLD和JSTL Tld,将它们放在
/WEB-INF/tld/
文件夹下(必须位于/WEB-INF中/文件夹). -
在web.xml上添加以下内容(在
< web-app>
元素下方)
- Download the latest struts library here (http://struts.apache.org/download.cgi#struts1310). Remember, the Full Distribution is that what you have to download as it contains a war file with the Struts TLD's.
- On your web application, copy all the lib in the archive file you downloaded to your
/WEB-INF/lib
folder. - For JSTL libraries (which works well with struts) go here (http://java.sun.com/products/jsp/jstl/)
- Once you have your Struts TLD's and JSTL Tld's, put them under the
/WEB-INF/tld/
folder (it must be situated in the /WEB-INF/ folder). On web.xml add the following stuff (under the
<web-app>
element)
<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-logic.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-nested.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/sslext.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/sslext.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/WEB-INF/struts-layout.tld</taglib-uri>
<taglib-location>/WEB-INF/tld/struts-layout.tld</taglib-location>
</taglib>
<!-- Sun's JSTL -->
<taglib>
<taglib-uri>http://java.sun.com/jstl/fn</taglib-uri>
<taglib-location>/WEB-INF/tld/fn.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-1-0</taglib-uri>
<taglib-location>/WEB-INF/tld/fmt-1_0.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-1-0-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/fmt-1_0-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-1-0</taglib-uri>
<taglib-location>/WEB-INF/tld/c-1_0.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-1-0-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/c-1_0-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/tld/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-1-0</taglib-uri>
<taglib-location>/WEB-INF/tld/sql-1_0.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-1-0-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/sql-1_0-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
<taglib-location>/WEB-INF/tld/x.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-1-0</taglib-uri>
<taglib-location>/WEB-INF/tld/x-1_0.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/x-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-1-0-rt</taglib-uri>
<taglib-location>/WEB-INF/tld/x-1_0-rt.tld</taglib-location>
</taglib>
</jsp-config>
这表明,一旦您从JSP调用了TLD,Web应用程序将查找匹配的< taglib-uri>
,然后在< taglib-location>上查找其位置.
并找到要调用的相关类.
This tells that once you call your TLD from the JSP, your webapp will look for the matching <taglib-uri>
then look for it's location on <taglib-location>
and find relevant class to call.
现在,您可以在JSP上执行以下操作:
On your JSP, now you can do this:
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/fn" prefix="fn" %>
希望这会有所帮助.
这篇关于Struts-在JSP页面中由Struts提供的.tld的Taglib指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!