ADF:setCurrentRow在不同的视图中

时间:2014-04-11 08:09:26

标签: oracle jsf oracle-adf

我正在使用JDeveloper 11.1.1.7.0,我遇到了这个问题。

我有两个不同的视图,它们在同一个Web浏览器中打开,位于不同的标签中(可能这是一个重要的问题):

  • view1 中,我有一个搜索按钮,因此,如果找到数据,则显示它,如果没有,则创建它。两种方式,搜索操作结束访问相关的VO并以编程方式 setCurrentRow
  • view2 中,我有另一个搜索按钮,在表格中列出来自同一个VO的数据,在最后一列中,有一个与的链接使用 {row.rowKeyStr} 进行setCurrentRowWithKey 操作。在view2和相关流程中的下一个视图中,只有读取操作。

所以,我的问题是:

  • 访问tab1中的view1,进行搜索并查看数据(执行setCurrentRow)。
  • 访问tab2中的view2,进行搜索并查看表格中的数据。
  • 在这里,如果我点击setCurrentRowWithKey链接,它会失败并让我失败:

oracle.jbo.RowNotFoundException:JBO-25020:no se ha encontrado la fila de vista con la clave oracle.jbo.Key [1042] en ...

1042是在view1中选择的键。

为什么发生这种异常?是否可以在这种情况下工作?

非常感谢任何帮助。此致

编辑:.jspx代码

    <?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
  <jsp:directive.page contentType="text/html;charset=UTF-8"/>
  <f:view beforePhase="#{viewScope.myBean.pageAccess}">
    <af:document id="d1" binding="#{viewScope.myBean.d1}">
      <af:messages binding="#{viewScope.myBean.m1}" id="m1"/>
      <af:form id="f1" binding="#{viewScope.myBean.f1}">
        <af:pageTemplate viewId="/templates/templateReportes.jspx" id="pt1">
          <f:facet name="usuario"/>
          <f:facet name="contenido">
            <af:group binding="#{viewScope.myBean.g1}" id="g1">
              <af:panelGroupLayout id="contenidoCentral"  layout="vertical" halign="center">
...

错误是在加载页面时,而不是调用任何方法:

javax.el.PropertyNotFoundException: Target Unreachable, 'myBean' returned null

0 个答案:

没有答案