首先,抱歉标题不好,但我不知道如何更好地描述它。
我的问题:
我想在<p:lightbox>
元素中显示图片。不幸的是,这些图片的文件名中包含“#”字符,因此它们看起来像这样,例如:desert_#1#.jpg。
这是我的代码:
<p:panel id="showPics" closable="false" header="Fotos: ">
<p:lightBox styleClass="imagebox">
<p:dataList value="#{myBean.fotoList}" var="fl" >
<h:outputLink value="#{request.contextPath}/resources/pics/#{fl.PictureName}" title="#{fl.PictureName}" >
<h:graphicImage value="#{request.contextPath}/resources/pics/#{fl.PictureName}"/>
</h:outputLink>
</p:dataList>
</p:lightBox>
</p:panel>
beanvalue #{fl.PictureName} 返回文件名,所以在我们的示例中,desert_#1#.jpg
现在,当我运行我的应用程序时,我收到以下错误消息:
访问 /resources/pics/desert_ 时出现问题。原因:未找到
所以我的猜测是,图片名称中的 # 字符被识别为对 beanmethod/value 的引用(或任何你称之为的引用),它们当然不是。因此,文件名中第一个“#”之后的字符串不再被识别。不幸的是,我不能简单地更改文件名来摆脱“#”。
有人可以告诉我如何解决这个问题吗?先感谢您!
更新:我将 JSF2.0 与 Primefaces 和 Primefaces 移动组件(因为我的应用程序是移动 Web 应用程序)和 Spring webflow 框架一起使用。我的 IDE 是 Netbeans。