0

我是 OAF 的新手。我正在编写一个用于在浏览器窗口中显示数据的小程序。但是根据 OAF 文档,当页面加载时processRequest()应该自动调用。但在我的情况下,该processRequest()方法没有被调用。因此,请任何人帮助我获取processRequest()加载页面时要调用的方法。

这是我的控制器代码。注意我将此控制器关联到一个页面。加载页面时,processRequest()不调用方法。

public class MyController extends OAControllerImpl
{
  public static final String RCS_ID = "$Header$";
  public static final boolean RCS_ID_RECORDED = 
    VersionInfo.recordClassVersion(RCS_ID, "%packagename%");

  /**
   * Layout and page setup logic for a region.
   * @param pageContext the current OA page context
   * @param webBean the web bean corresponding to the region
   */
  public void processRequest(OAPageContext pageContext, OAWebBean webBean)
  {
   /* The below code line is used to initialize the application module */
    System.out.println("inside processRequest");
    OAApplicationModule am = 
      (OAApplicationModule)pageContext.getApplicationModule(webBean);
     // am.invokeMethod("execVO");
    /* The below code line is used to initialize VO*/
   OAViewObject vo = (OAViewObject)am.findViewObject("EmpView1");
    /* DataDisplayVO1 is the instance name in AM which is the original name of the VO */
    vo.executeQuery();
    RowSetIterator rowsetIterator = vo.createRowSetIterator(null);
    while (rowsetIterator.hasNext())
    {
      Row r = rowsetIterator.next();
      System.out.println("Empno is ... " + r.getAttribute("Empno"));
    }

  }
4

1 回答 1

0

这是不可能的。根据我的经验,到目前为止,我从未遇到过这样的问题。

再想一想,只是想控制器是否没有分配给页面。尽管在极少数情况下可能会发生。情况是您在附加控制器之前已经运行了页面,并且页面 xml 存储在您的类目录中。该目录在每次运行时都会刷新,但很少不会刷新。

尝试重建您的应用程序,如果可能的话,删除相关包的 classes 文件夹内容。希望它可能会有所帮助。

于 2018-05-27T14:38:25.907 回答