2

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

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

actn005.gif 作为图像资源存在于当前数据库中。当我单击“在笔记中预览”并获取源时,它会为图像显示如下内容:

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

您可以看到,在“Preview in 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>标签来完成这项工作?这是一个错误吗?

4

2 回答 2

2

它可能无法按您的意愿(以及许多其他方式)工作,但可以按设计工作。如果您想提供自己的图像源(我假设 XPage_Rendering_Image.xsp 是 XAgent),您必须使用 Extension API 并提供资源渲染器。或者您坚持使用论坛中建议的标准 html img 标签。Notes 客户端中的 XSP 路径部分是必需的,因此本地 Web 服务器可以识别它是由 XSP 引擎呈现的,而不是典型的客户端部分。

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

于 2012-02-20T17:08:04.410 回答
1

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

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

于 2012-02-20T22:58:53.003 回答