Xpages 8.5.3错误?xp:输入文本

Xpages 8.5.3错误?xp:输入文本,xpages,editbox,Xpages,Editbox,我有两个编辑框,一个是可编辑的,另一个只是打印sessionScope的名称,两个字段都在一个相邻的两个单元格中,请参见下面的代码,InputExt1是可编辑的文本字段,InputExt2是不可编辑的文本,打印35;{sessionScope.Tmp1_ABC} <xp:td> <xp:inputText id="inputText1" loaded="true"> <xp:this.value><![CDATA[${javascript:var

我有两个编辑框,一个是可编辑的,另一个只是打印sessionScope的名称,两个字段都在一个相邻的两个单元格中,请参见下面的代码,InputExt1是可编辑的文本字段,InputExt2是不可编辑的文本,打印35;{sessionScope.Tmp1_ABC}

<xp:td> 
<xp:inputText id="inputText1" 
loaded="true"> 
<xp:this.value><![CDATA[${javascript:var fieldName = "Tmp_" +      @ReplaceSubstring(varcollection," ",""); 
return '#{sessionScope.' + @ReplaceSubstring(fieldName,@List(" ",")","("),"") + '}';}]]></xp:this.value> 

<xp:eventHandler 
event="onchange" submit="true" refreshMode="partial" 
refreshId="panel_1" /> 
</xp:inputText> 
</xp:td> 
<xp:td> 
<xp:inputText id="inputText2" 
loaded="true"> 
<xp:this.value><![CDATA[#{javascript:var fieldName = "Tmp1_" +   @ReplaceSubstring(varcollection," ",""); 
return '#{sessionScope.' + @ReplaceSubstring(fieldName,@List(" ",")","("),"") + '}';}]]></xp:this.value> 

<xp:eventHandler 
event="onchange" submit="true" refreshMode="partial" 
refreshId="panel_1" /> 

</xp:inputText> 
</xp:td>


好吧,您不能用这种方式组装数据绑定。数据绑定是EL表达式,而不是SSJS。您可以尝试使用${}来计算#{}

AFAIK,因为您无法以这种方式组装数据绑定。数据绑定是EL表达式,而不是SSJS。您可以尝试使用${}根据Stefan计算#{}

,使用SSJS(javascript:)为输入控件定义一个值,结果该控件仅为只读。要使值可编辑,必须使用表达式语言(EL)对其进行绑定。对于像示例这样复杂的东西(在字段/变量列表上循环),您很可能需要学习一点Java来允许您通过EL将输入控件连接到bean。如果代码的目的是使一个字段可编辑,另一个字段为只读,则应(根据建议)将控件从inputText更改为(计算)文本或标签,并删除事件处理程序。阅读代码的人可能会很容易感到困惑,因为他们认为这两个控件都是可编辑的。

根据Stefan的说法,使用SSJS(javascript:)为输入控件定义一个值只会导致它是只读的。要使值可编辑,必须使用表达式语言(EL)对其进行绑定。对于像示例这样复杂的东西(在字段/变量列表上循环),您很可能需要学习一点Java来允许您通过EL将输入控件连接到bean。如果代码的目的是使一个字段可编辑,另一个字段为只读,则应(根据建议)将控件从inputText更改为(计算)文本或标签,并删除事件处理程序。阅读代码的人可能会很容易感到困惑,以为您希望两者都是可编辑的。

请澄清您的问题。为什么要使用输入文本来显示数据?使用xp:文本。请澄清您的问题是什么。为什么使用输入文本显示数据?使用xp:text。是的,谢谢,我想Eclipse一定是在我没有注意到从{}到${}有一个UI元素的情况下更改了它:(x)在页面加载时计算()动态计算。它现在对你有效吗?它看起来有50%的时间有效!,真的,有时候当我在自定义控件的其他地方做了一些更改时,它就不起作用了。然后,当我返回到旧代码时,它又开始工作了,字段的代码是100%相同的,如下所示,即使在工作时,我也无法更改和SSJSyes中绑定的代码。是的,谢谢,我认为Eclipse一定已经更改了,而我没有注意到从{}到${}有一个UI元素:(x)页面加载时计算()动态计算。它现在对你有效吗?它看起来有50%的时间有效!,真的,有时候当我在自定义控件的其他地方做了一些更改时,它就不起作用了。然后,当我回到旧代码时,它又开始工作了,字段的代码是100%相同的,如下所示,即使它工作了,我也不能更改,SSJS中绑定的代码谢谢,这可能就是为什么它如此“不稳定”,它使用SSJS工作,但有时我甚至更改变量名并保存它,该字段立即变成只读。我同意彼得的建议。如果使用Java类,您可能会更高兴。DataContext似乎是启动Thanks的好地方,这可能就是它如此“不稳定”的原因,它确实可以使用SSJS工作,但有时甚至当我更改变量名并保存它时,该字段立即变成只读。我同意Peter的建议。如果使用Java类,您可能会更高兴。DataContext似乎是一个很好的起点