Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages 如何将计算字段同时进行计算和数据绑定到字段?_Xpages_Xpages Ssjs - Fatal编程技术网

Xpages 如何将计算字段同时进行计算和数据绑定到字段?

Xpages 如何将计算字段同时进行计算和数据绑定到字段?,xpages,xpages-ssjs,Xpages,Xpages Ssjs,我知道如何将计算字段绑定到文档字段。我知道如何使用javascript来计算计算字段。但我如何做到两者 假设计算字段中的javascript为: @Name("[ABBREVIATE]" ,@UserName()); 如何将其绑定到document1.ReqName字段?对于计算字段的值,请使用高级数据绑定并选择表达式语言(EL)。 要使用的表达式只是“document1.ReqName”(无引号)。对于计算字段的值,请使用高级数据绑定并选择表达式语言(EL)。 要使用的表达式只是“docu

我知道如何将计算字段绑定到文档字段。我知道如何使用javascript来计算计算字段。但我如何做到两者

假设计算字段中的javascript为:

 @Name("[ABBREVIATE]" ,@UserName());

如何将其绑定到document1.ReqName字段?

对于计算字段的值,请使用高级数据绑定并选择表达式语言(EL)。
要使用的表达式只是“document1.ReqName”(无引号)。

对于计算字段的值,请使用高级数据绑定并选择表达式语言(EL)。 要使用的表达式只是“document1.ReqName”(无引号)。

我使用两个字段:

  • 计算所需值的隐藏输入字段(使用xp:inputHidden控件)。我使用“默认值”来模拟合成时的计算值,并使用转换器来模拟Computed()
  • 执行相同计算的可见计算字段或设置为只读的可见输入字段。也许这可以更改为使用getComponent(“”.getValue()显示隐藏输入字段的值
  • 我使用两个字段:

  • 计算所需值的隐藏输入字段(使用xp:inputHidden控件)。我使用“默认值”来模拟合成时的计算值,并使用转换器来模拟Computed()
  • 执行相同计算的可见计算字段或设置为只读的可见输入字段。也许这可以更改为使用getComponent(“”.getValue()显示隐藏输入字段的值

  • 在这种情况下我不受约束。我将绑定所有其他控件,在本例中,在保存操作之前,使用脚本直接手动将其添加到文档字段中

    比如:(原谅代码不在我的公司)


    在这种情况下,我不会绑定。我将绑定所有其他控件,在本例中,在保存操作之前,使用脚本直接手动将其添加到文档字段中

    比如:(原谅代码不在我的公司)


    也许我没有抓住要点,但你为什么不简单地做以下几点呢

    <xp:inputText id="inputText1" value="#{document1.Reader}">
        <xp:this.defaultValue>
            <![CDATA[#{javascript:@Name("[ABBREVIATE]",@UserName());}]]>
        </xp:this.defaultValue>
    </xp:inputText>
    
    
    
    这是一个按EL绑定到DocumentField的Textfield。如果字段为空,则按默认值计算

    太好了我没抓住要点。但你可以试试这个:

    <xp:text escape="true" id="computedField3">
        <xp:this.value>
            <![CDATA[#{javascript: 
                        if(@IsNewDoc()){
                              document1.replaceItemValue("Reader",@Name("[ABBREVIATE]",@UserName()));
                        }
                        return document1.getItemValue("Reader");}]]>
        </xp:this.value>
    </xp:text>
    

    也许我没有抓住要点,但你为什么不简单地做以下几点呢

    <xp:inputText id="inputText1" value="#{document1.Reader}">
        <xp:this.defaultValue>
            <![CDATA[#{javascript:@Name("[ABBREVIATE]",@UserName());}]]>
        </xp:this.defaultValue>
    </xp:inputText>
    
    
    
    这是一个按EL绑定到DocumentField的Textfield。如果字段为空,则按默认值计算

    太好了我没抓住要点。但你可以试试这个:

    <xp:text escape="true" id="computedField3">
        <xp:this.value>
            <![CDATA[#{javascript: 
                        if(@IsNewDoc()){
                              document1.replaceItemValue("Reader",@Name("[ABBREVIATE]",@UserName()));
                        }
                        return document1.getItemValue("Reader");}]]>
        </xp:this.value>
    </xp:text>
    
    
    
    
    [CDATA[#{javascript:
    var userName=“userName:”+(“阅读器”、@Name(“[缩写]”、@userName());
    currentDocument.replaceItemValue(“computedFieldTest1”,用户名);
    返回用户名;
    }]]>
    
    
    [CDATA[#{javascript:
    var userName=“userName:”+(“阅读器”、@Name(“[缩写]”、@userName());
    currentDocument.replaceItemValue(“computedFieldTest1”,用户名);
    返回用户名;
    }]]>
    
    但是如何获得@Name(“[缩写]”,@UserName());的默认值;?我现在做的是使用两个字段,一个是CSS隐藏的editbox,有一个默认值,并且绑定到一个字段。然后,我有一个计算字段,可以在编辑框外进行计算。但是,如何获得@Name(“[缩写]”,@UserName());的默认值呢;?我现在做的是使用两个字段,一个是CSS隐藏的editbox,有一个默认值,并且绑定到一个字段。然后我有一个从编辑框中计算出来的计算字段。是的,这和我现在做的差不多,见上图。是的,这和我现在做的差不多,见上图。也考虑过走这条路线。应该有更简单的方法。应该有一个用于绑定的get和set方法。我想也可以使用一个转换器?好吧,这是有争议的,XPages只是JSF的一个扩展,所以这里的任何问题都需要在底层平台上解决。什么类型的转换器?这只是一个脚本,您可以将名称添加到var中,并根据自己的喜好对其进行操作,然后将其传入。如果您想使用内置的转换器,它将更像Per的建议,带有一个隐藏的输入字段、应用的转换器以及使用getComponent().getValue()提取该值的脚本。我很可能会用脚本对其进行修改,然后将其传递给。RepaceitemValues也考虑过这样做。应该有更简单的方法。应该有一个用于绑定的get和set方法。我想也可以使用一个转换器?好吧,这是有争议的,XPages只是JSF的一个扩展,所以这里的任何问题都需要在底层平台上解决。什么类型的转换器?这只是一个脚本,您可以将名称添加到var中,并根据自己的喜好对其进行操作,然后将其传入。如果您想使用内置的转换器,它将更像Per的建议,带有一个隐藏的输入字段、应用的转换器以及使用getComponent().getValue()提取该值的脚本。我很可能会使用脚本对其进行修改,然后将其传递给.repaceItemValue