0

我目前正在处理 oracle adf 任务流和区域,我想在页面加载时创建和更新一些 UI 组件,为此我默认使用方法调用活动。问题是我得到空值以下是我的代码在方法调用上执行的 bean。

package view;

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

import oracle.adf.view.rich.component.rich.output.RichOutputText;

public class testBean {
    public testBean() {
    }

    public String testMethod() {
        // Add event code here...



        FacesContext facesContext = FacesContext.getCurrentInstance();
        UIViewRoot root = facesContext.getViewRoot();


        RichOutputText text =    ( RichOutputText )root.findComponent( "r1:ot1" );

        text.setValue( "Adding text on run time" );

        return "product";

    }
}

设置值方法返回我null可能是因为没有启动视图活动片段product.jsff并且ot1的输出文本返回null。

4

1 回答 1

0

实现值设置的更好方法是在 bean 中有一个属性说:textValue,然后将 ot1 的 value 属性与 bean 的属性绑定。

class TestBean{
  private String textValue;

  public String testMethod() {
    textValue = "Adding text on run time";
  }

  public String getTextValue(){
    return textValue;
  }
}

您的 JSPX 将是:

<af:outputText id="ot1" value=#{beanName.textValue}" />
于 2013-07-02T08:37:45.733 回答