在Notes和Web浏览器中预览时的图像URL

时间:2012-02-20 15:42:34

标签: xpages

让我们说我们有一个带有以下代码片段的XPage,它使用javascript公式显示图像:

<xp:image id="image1"><xp:this.url><![CDATA[#{javascript:"actn005.gif"}]]></xp:this.url></xp:image> 

actn005.gif作为图像资源存在于当前数据库中。当我点击“在Notes中预览”并获取源代码时,它会为Image显示以下内容:

<img id="view:_id1:image1" src="/xsp/Naveen/Experiments.nsf/xsp/actn005.gif" alt="" class="xspImage">

当我点击“在Web浏览器中预览”并获取源代码时,它会为图像显示以下内容:

<img id="view:_id1:image1" src="/Naveen/Experiments.nsf/actn005.gif" alt="" class="xspImage"> 

您可以看到,在“Notes中预览”的情况下,它会在数据库路径之前和之后添加 xsp 。我的问题是为什么?两种情况下都会显示图像,没有任何问题。但如果我有XPage渲染图像让我们调用它 - XPage_Rendering_Image.xsp。因为XPage代码

<xp:image id="image1"><xp:this.url><![CDATA[#{javascript:"XPage_Rendering_Image.xsp"}]]></xp:this.url></xp:image> 

呈现为:

<img id="view:_id1:image1" src="/xsp/Naveen/Experiments.nsf/xsp/XPage_Rendering_Image.xsp" alt="" class="xspImage"> 

然后它就失败了!我之前在XPages论坛上发布了这个问题,建议使用像

这样的普通图片标签
<img src="#{javascript:'XPage_Rendering_Image.xsp'}" alt="" class="xspImage" />.

但有没有办法使用<xp:image>标记来完成这项工作?这是一个错误吗?

2 个答案:

答案 0 :(得分:2)

它可能不会像您希望的那样(以及许多其他人),但它按设计工作。如果要提供自己的图像源(我假设XPage_Rendering_Image.xsp是XAgent),则必须使用Extension API并提供资源渲染器。或者您坚持使用论坛中建议的标准html img标记。 需要Notes客户端中的XSP路径部分,以便本地Web服务器可以识别它将由XSP引擎呈现,而不是经典客户端部分。

更新:/ xsp / .... URL也适用于网络。这就是你需要的。

答案 1 :(得分:1)

我希望将此视为错误并由IBM修复。我也遇到了这种差异,没有找到解决办法(基于客户端/浏览器的条件渲染不是一种选择)。

例如,“$ Icon”图像资源的本机链接也不起作用。