java - Struts - Struts 提供的 .tld 的 JSP 页面中的 Taglib 指令

标签 java struts2 taglib

我正在开发一个基于 Struts 的应用程序。我是 Struts 的新手。我想在 JSP 页面中使用在 Struts 提供的 taglib 目录中指定的 html 标签。

但是不知道怎么用。我知道如何使用 taglib 指令,但我从消息来源得知 .tld 文件在 1.2.8 版本之后已嵌入到 .jar 文件中。我正在使用 Struts 版本 2.1.8。

我不知道 struts-html.tld 文件位于哪个 .jar 文件中。

最佳答案

我正在使用 Struts 1.3.10 进行此说明:

  1. 在这里下载最新的 struts 库(http://struts.apache.org/download.cgi#struts1310)。请记住,完整分发 是您必须下载的内容,因为它包含带有 Struts TLD 的 war 文件。
  2. 在您的 Web 应用程序上,将您下载的存档文件中的所有库复制到您的 /WEB-INF/lib文件夹。
  3. 对于 JSTL 库(与 struts 配合良好)请转到此处 (http://java.sun.com/products/jsp/jstl/)
  4. 一旦您有了 Struts TLD 和 JSTL Tld,将它们放在 /WEB-INF/tld/ 下文件夹(它必须位于/WEB-INF/文件夹中)。
  5. 在 web.xml 上添加以下内容(在 <web-app> 元素下)

      <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,您的 webapp 将寻找匹配的 <taglib-uri>然后在 <taglib-location> 上查找它的位置并找到要调用的相关类。

在您的 JSP 上,现在您可以这样做:

<%@ 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" %>

希望这对您有所帮助。

关于java - Struts - Struts 提供的 .tld 的 JSP 页面中的 Taglib 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2392993/

相关文章:

Java Vector Field(私有(private)成员)累加器不存储我的奶牛!

java - 整数数组中的重复数字(Java 基础级别)和时间复杂度

java - 在 JSF 中使用 IOUtils 下载 zip 文件时出现 "Empty response, an empty response was recieved from the server"错误

java - 提取字符串,包括字符串中的空格(java)

javascript - 如何在 JavaScript 中添加数据并将其绑定(bind)到 jQuery 网格

java - org.apache.sling.scripting.jsp.jasper.JasperException : Unable to load tag handler class

java.lang.NoSuchFieldError : VERSION_2_3_0 错误

java - 将列表从 JSP 重新填充到 Struts 2 中的操作

jakarta-ee - 如何使用Struts标记测试是否存在给定的请求参数?

java - 如何处理 chrome/firefox 中的双重转义?