2016-06-14 62 views
0

我现在从ADF Faces技术以及JDeveloper开始。我有一个.jspx页面,在这里我打开一个弹出窗口,其中存在一个与查看对象绑定的ADF窗体。每当弹出窗口打开时,它都会调用createInsert操作,但随后会弹出一些错误消息,就好像某处正在执行验证一样。JDeveloper ADF:CreateInsert自动提交?

事情我已经考虑或到目前为止已经试过:

  1. 页的“跳过验证”属性设置为TRUE。我不会 知道还有什么要尝试。
  2. 每个输入的自动提交属性都设置为FALSE。

代价

我觉得createInsert动作是自动提交,但就像我说我使用这些技术在几天前才刚刚开始。所以也许这个“奇怪的行为”是由我还没有考虑过的其他设置造成的。

Popup message errors

这是我使用弹出打开(PopUpFecthListener)时

public void createInsert(PopupFetchEvent popupFetchEvent) { 
    try { 

     System.out.println("Inside function"); 

     ADFUtil.invokeEL("#{bindings.CreateInsertVariable.execute}"); 
     Util.getAppModuleImpl().getFurVariableView1().getCurrentRow().setAttribute("Estado", "I"); 


     System.out.println("Function has been executed"); 
    } catch (Exception e) { 

     Util.logErrorJava("Error", e.getMessage()); 
    } 
} 

下面是我在其中得到AppModuleImpl

public static AppModuleImpl getAppModuleImpl() { 
     FacesContext context = FacesContext.getCurrentInstance(); 
     ValueBinding vb = context.getApplication().createValueBinding("#{data}"); 
     BindingContext bc = (BindingContext)vb.getValue(context); 
     DCDataControl dc = bc.findDataControl("AppModuleDataControl"); 
     AppModuleImpl module = (AppModuleImpl)dc.getDataProvider(); 
     return module; 
} 

回答

0

的方法,我认为你应该尝试的代码为您输入控件使用immediate属性。 为了最好的理解立即和验证机制read this article