【问题标题】:The jsp does not show the imagesjsp不显示图像
【发布时间】:2013-02-10 05:01:39
【问题描述】:

我正在尝试在 jsp 中显示图像,我正在使用以下代码但它不显示图像,它只显示一个图像图标,表示链接已损坏。

当我将文件放在 images 文件夹中时,它可以工作,但在 logos 文件夹中时找不到文件。

图片在这个地址Web pages\images\logos\Tulips.jpg

我的代码如下

   <%@taglib uri="/struts-tags" prefix="s"%>
   ....

   <img src="<s:url value="/images/logos/Tulips.jpg"/>"/>

   .....

人们建议我使用以下内容,我添加了以下代码和依赖项,但它在 taglib 行上显示以下错误。

    Unable to read TLD "META-INF/c.tld" from JAR file javaee-web-api.6.0.jar : org.apache.jasper.JasperException :PWC6169: Failed to load or instantiate TagLibraryValidator class:
org.apache.taglibs.standard.tlv.jstlCoreTLV

jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<img src="<c:url value="/images/logos/Tulips.jpg"/>"/>

pom

            <dependency>
                <groupId>org.apache.taglibs</groupId>
                <artifactId>taglibs-parent</artifactId>
                <version>3</version>
                <type>pom</type>
            </dependency>
          <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <type>jar</type>
          </dependency>

【问题讨论】:

  • 这个jsp在哪里?
  • 你可以试试"./images/logos/Tulips.jpg" 吗?
  • 但这没有任何意义;它不应该是相对路径:(a) 它不是相对路径,并且 (b) 相对路径可能会根据特定 JSP 的使用方式而严重损坏。
  • 只是为了澄清,你说它在 images 文件夹中有效,但在 logos 文件夹中无效?所以&lt;img src="&lt;s:url value="/images/Tulips.jpg"/&gt;"/&gt; 有效,但是当您将 Tulips.jpg 移动到 /images/logos 时,&lt;img src="&lt;s:url value="/images/logos/Tulips.jpg"/&gt;"/&gt; 不再有效?
  • 名称或访问权限存在问题...因为我假设您以相同的方式创建所有文件夹,我怀疑您决定设置权限以使任何内容都无法访问在徽标下...啊,删除文件夹并重新创建它。还要部署应用程序并查看部署以查看 jsp 是否在您期望的位置。 s:url 标签没有任何问题(您可以验证它正在构建您期望在 html 源代码中的内容)。您可以手动输入指向正确图像位置的 url,您应该会得到一张图像。这将是一件简单的事情。

标签: jsp struts2 image


【解决方案1】:

你也可以试试这样的吗?

    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <img src="<html:rewrite page='/images/logos/Tulips.jpg/'>"/>

【讨论】:

  • 遇到以下错误 PWC6031: Unterminated <html:rewrite tag
  • 根据 TLD 再次出现错误,标签 html:rewrite 必须为空,但不是。
  • @DanielMorgan 您甚至不应该拥有该顶级域名。
  • 编辑仍然是未终止的&lt;html:rewrite&gt; 标记,它是Struts 的错误版本。有人对此表示赞同,这令人费解。
【解决方案2】:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<img src="<c:url value="/images/logos/Tulips.jpg"/>"/>

更新
也看看这些链接:
Error using JSF 2.1 with JSP 2.0: Unable to read TLD from JAR file
Unable to read TLD "META-INF/c.tld"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 2021-09-06
    • 2014-05-20
    • 1970-01-01
    相关资源
    最近更新 更多