Xpages 8.5.3 Bug? xp:输入文字

时间:2013-07-09 01:19:37

标签: xpages editbox

我有2个编辑框,1个是可编辑的,另一个只是打印sessionScope的名称,两个字段都在2个单元格中彼此相邻,请参阅下面的代码,inputText1是一个可编辑的文本字段,inputText2是非可编辑文本,打印#{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>

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

根据Stefan,使用SSJS(javascript :)来定义输入控件的值会导致它只是只读的。要使值可编辑,必须使用表达式语言(EL)绑定它们。对于像示例那样复杂的东西(循环遍历字段/变量列表),您很可能必须学习一点Java以允许您通过EL将输入控件连接到bean。如果代码的目的是让一个字段可编辑而另一个字段是只读的(按照建议)将控件从inputText更改为just(计算)文本或标签并删除事件处理程序。有人在阅读代码时很容易混淆,认为你打算编辑它们。