我是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"));
}
}
答案 0 :(得分:0)
这是不可能的。根据我的经验,到现在为止我从未遇到过这样的问题。
再考虑一下,只考虑控制器是否未分配给页面。虽然在最罕见的情况下可能会发生。例如,您在连接控制器之前已经运行了页面,并且页面xml存储在您的classes目录中。此目录在每次运行时都会刷新,但很少会刷新。
尝试重建您的应用程序,如果可能,请删除相关包的classes文件夹内容。希望它可能有所帮助。