1

每次我打开我的一个 xpage 时,我都会看到弹出/对话框(见图)。我在源窗格中查看了试图找到错误但找不到它,并且该问题未在源窗格或问题 Eclipse 视图中列出。

xpage 正在编译并且工作正常,但弹出窗口很烦人。

找出造成这种情况的最佳方法是什么?

实体名称必须紧跟在实体引用中的 "

错误

4

3 回答 3

2

这一定是自定义控件中使用的自定义可视化中的错误。我试过了

if( true && true ){
    return "home"
}

并得到同样的错误。但仅在“在页面加载时计算”时。当我将其更改为“动态计算”时,它运行良好。我猜有些东西不喜欢&符号&&。

顺便说一句,它也不喜欢||。

2012-08-30 编辑:即使我输入...

return "home" 

并将其设置为“在页面加载时计算”它会生成错误并且不会在设计视图中正确呈现自定义控件。

我相信在自定义可视化中显示默认内容的 id 或者在这种情况下计算 id 的代码是导致问题的原因。有人需要处理计算页面加载时生成的 $ 以及任何 && 和 || 如果他们真的觉得有必要在代码中显示它,它们就会出现在代码中。

于 2012-08-17T16:50:26.707 回答
1

该错误通常意味着您破坏了 XML。例如 & 代替 & 在一个领域。

尝试从页面中删除元素,看看它是否编译。缩小范围后,发布代码。

如果您的页面的代码设置为从 Web 源读取 XML,但您返回的是网页而不是有效的 XML,也会发生这种情况。

于 2012-08-14T10:50:14.343 回答
0

我已经追踪到这个错误是由 extlib 中的动态内容控制引起的。使用以下代码可以重现错误(注意:您需要安装 extlib)。放在 computedText 中的相同 ssjs 代码可以工作。

 <?xml version="1.0" encoding="UTF-8"?>
 <xp:view xmlns:xp="http://www.ibm.com/xsp/core"    xmlns:xe="http://www.ibm.com/xsp/coreex">
    <xe:dynamicContent id="dynC" useHash="true">
    <xe:this.defaultFacet><![CDATA[#{javascript:if(n.contains("news") && u.contains(userid)){
return "yes"
}
 }]]></xe:this.defaultFacet>
</xe:dynamicContent>
</xp:view>

对此有什么想法吗?

于 2012-08-15T09:37:48.330 回答