【问题标题】:How to assign image src= string variable in JSP?如何在 JSP 中分配图像 src= 字符串变量?
【发布时间】:2015-07-20 11:02:44
【问题描述】:

    
<%
      String fn=session.getAttribute("fn").toString();
      fn="img/"+fn;
%>
    <tr>
      <td width="20%" style="border-style: none; border-width: medium" height="17">
      </td>
      <td width="20%" style="border-style: none; border-width: medium" height="17" bgcolor="#FFFFFF">
      </td>
      <td width="20%" style="border-style: none; border-width: medium" height="17" bgcolor="#FFFFFF">
      <img border="0" src="<%=fn%>" width="90" height="90"></td>
      <td width="20%" style="border-style: none; border-width: medium" height="17">
      </td>
    </tr>

我正在根据以前 JSP 中的用户输入生成 QR 图像,并将其显示在上述 JSP 中。 QR 生成在 Eclipse(Mars) 动态 web 项目中运行良好。 Eclipse 在 /WebContent/img/ 文件夹中正确生成它。但我无法使用上述 JSP 显示图像。清除缓存,重新启动 Tomcat6,重新启动 eclipse 和重新启动笔记本电脑并没有解决问题。我看到以下错误:

 SEVERE: Error starting static Resources
    java.lang.IllegalArgumentException: Document base /home/amruth/workspace2/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/Banking_With_OTP2 does not exist or is not a readable directory
        at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4320)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

    Jul 20, 2015 4:38:26 PM org.apache.catalina.core.StandardContext start
    SEVERE: Error in resourceStart()
    Jul 20, 2015 4:38:26 PM org.apache.catalina.core.StandardContext start
    SEVERE: Error getConfigured
    Jul 20, 2015 4:38:26 PM org.apache.catalina.core.StandardContext start
    SEVERE: Context [/Banking_With_OTP2] startup failed due to previous errors
    Jul 20, 2015 4:38:26 PM org.apache.catalina.core.StandardContext stop
    INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Banking_With_OTP2] has not been started
    Jul 20, 2015 4:38:26 PM org.apache.catalina.core.StandardContext resourcesStart
    SEVERE: Error starting static Resources
    java.lang.IllegalArgumentException: Document base /home/amruth/workspace2/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/temp does not exist or is not a readable directory
        at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:142)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4320)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4489)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)

【问题讨论】:

    标签: image jsp web


    【解决方案1】:

    问题在 Eclipse 中继续存在。所以我提取了一个项目的.war文件,直接在Appache Tomcat中运行。然后它运行良好,没有任何问题。这是一个很好的实用解决方案。

    【讨论】:

      【解决方案2】:

      您尚未将格式添加到图像路径字符串。 你的jsp代码应该是:

      <%
        String fn=session.getAttribute("fn").toString();
        fn="img/"+fn+".jpg";
      %>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-19
        • 2018-10-08
        • 1970-01-01
        • 2019-09-05
        相关资源
        最近更新 更多