加载页面时,不会调用processRequest()

时间:2018-04-20 10:14:34

标签: oaf

我是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"));
    }

  }

1 个答案:

答案 0 :(得分:0)

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

再考虑一下,只考虑控制器是否未分配给页面。虽然在最罕见的情况下可能会发生。例如,您在连接控制器之前已经运行了页面,并且页面xml存储在您的classes目录中。此目录在每次运行时都会刷新,但很少会刷新。

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