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

Xpages 在Notes和Web浏览器中预览时的图像URL,xpages,Xpages,假设我们有一个包含以下代码片段的XPage,它使用javascript公式显示图像: <xp:image id="image1"><xp:this.url><![CDATA[#{javascript:"actn005.gif"}]]></xp:this.url></xp:image> actn005.gif作为图像资源存在于当前数据库中。当我点击“在Notes中预览”并获取源代码时,它会为图像显示如下内容: <img id

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

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

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

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

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

<img id="view:_id1:image1" src="/xsp/Naveen/Experiments.nsf/xsp/actn005.gif" alt="" class="xspImage">
<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" />.

但是有没有一种方法可以使用
标签来实现这一点呢?这是一个bug吗?

它可能不会像您希望的那样工作(以及其他许多),但它可以按设计工作。如果您想提供自己的图像源(我假定XPage_Rendering_image.xsp是一个XAgent),您必须使用扩展API并提供一个资源渲染器。或者你坚持使用论坛中建议的标准HTMLIMG标签。 Notes客户机中需要XSP路径部分,以便本地web服务器能够识别它是由XSP引擎呈现的,而不是经典的客户机部分


更新:在/xsp/。。。。URL也可以在web上使用。所以这就是您所需要的。

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


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

是的,XPage_Rendering_image.xsp是一个XAgentBy资源渲染器。你是说com.ibm.xsp.render.ResourceRenderer?需要检查API才能完全确定,但我认为实际上/xsp/也可以在web上工作,因此不需要任何条件。因此,永远不要在数据目录中创建xsp目录。Notes客户端不呈现任何经典HTML元素,$Icon是经典的--XPiNC只呈现XPages,没有classicI不能同意您的意见,stwissel:如果您制作任何XPage,它应该在浏览器和XPiNC客户端中呈现相同的内容。Frantisek:只要您坚持XPages规则,它呈现的内容是相同的。而经典的$icon不是XPages。当您在XPiNC中开始使用Xpage并使其工作时,它将在浏览器中工作,因为您不会有使用非XPages内容的诱惑。