有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Oracle adf添加问题

伙计们 我在Oracle ADF中制作这个简单的加法函数 其中,我有三个输入文本字段,前两个用于输入数字,第三个用于输出,还有一个按钮,我在其中编写了计算加法运算的代码。在Adf中创建Adf Fusion应用程序后的页面上 这是密码

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html>
<f:view xmlns:f="http://java.sun.com/jsf/core" xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
    <af:document title="PageAdd.jsf" id="d1">
        <af:form id="f1">
            <af:inputText label="input1" id="it1" binding="#{Mbean.input1}" autoSubmit="true"/>
            <af:inputText label="input2" id="it2" binding="#{Mbean.input2}" autoSubmit="true"/>
            <af:inputText label="output" id="it3" binding="#{Mbean.output}" autoSubmit="true"/>
            <af:button text="Submit" id="b1" action="#{Mbean.b1_action}"/>
            <af:selectBooleanRadio text="selectBooleanRadio 1" label="Label 1" id="sbr1"/>
        </af:form>
    </af:document>
    <!--oracle-jdev-comment:preferred-managed-bean-name:Mbean-->
</f:view>

正如你看到的绑定。Mbean是托管Bean,位于“.”之后这是财产。 在这个按钮中,我创建了一个名为b1_action的方法。 下面是java代码。 包视图

import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import oracle.adf.view.rich.component.rich.input.RichInputText;

public class Addition {
    private RichInputText input1;
    private RichInputText input2;
    private RichInputText output;

    public Addition() {
    }

    public void setInput1(RichInputText input1) {
        this.input1 = input1;
    }

    public RichInputText getInput1() {
        return input1;
    }

    public void setInput2(RichInputText input2) {
        this.input2 = input2;
    }

    public RichInputText getInput2() {
        return input2;
    }

    public void setOutput(RichInputText output) {
        this.output = output;
    }

    public RichInputText getOutput() {
        return output;
    }

    public String b1_action() {
        String s;
        String x;
        String v;
        s = (String)input1.getValue();
        x = (String)input2.getValue();
        int r2=Integer.parseInt(x);
        int r1= Integer.parseInt(s);
        int d =r2+r1;
        v =Integer.toString(d);
        output.setValue(v);        
        System.out.println(output.getValue());

        return null;
    }


}

虽然我的应用程序能够获取这些值,甚至可以将它们相加,但无法在第三个输入文本字段中显示它们,这是我无法做到的 我不熟悉这个工具和Java语言,请帮助我


共 (3) 个答案

  1. # 1 楼答案

    output.setValue(v);之后

    添加这行代码 AdfFacesContext.getCurrentInstance().addPartialTarget(output);

    然后在页面的输出内将属性autoSubmit设置为“true”

  2. # 2 楼答案

    在“输出”组件上添加如下部分触发器属性:

    <af:inputText label="output" id="it3" binding="#{Mbean.output}" autoSubmit=“true" partialTriggers=“ b1"/>  
    
  3. # 3 楼答案

    首先让输入1和输入2 autoSubmit="True"。 然后用partialTriggers="it1 it2"作为输出。 为按钮制作partialSubmit="True"

    如果什么也没发生,试着写this.output.setValue(V);