2012-05-28 36 views
0

Question: 如何将值传递给查询中名为“userParameter”的参数。使用requestScope
请帮助完成使请求范围在同一页面上工作的步骤。Oracle ADF ::如何通过requestScope将参数传递给另一个查看对象

现在我知道以下几点。

  1. 我有一个名为UserRoomReservation

  2. 我有一个数据控制(用户视图) 将第一数据控制是作为表格页。 第一列转换为链接 的ActionListener添加到从该链接 :#{} row.userId到 :#{} requestScope.userParameter

  3. 我创建通过SQL查询 另一个视图对象我把命名参数“:用户参数” SQL查询是下面写:::

    SELECT DISTINCT Fullreservation.USERID, 
         Meetingrooms."roomName",    
         Meetingrooms."roomId" , 
         COUNT (Fullreservation.roomid) AS countRoomUsage 
    FROM FULLRESERVATION Fullreservation, "meetingRooms" Meetingrooms 
    WHERE fullreservation.roomid = Meetingrooms."roomId" 
    AND Fullreservation.USERID = :userParameter 
    
    GROUP BY 
         Meetingrooms."roomName", 
         Meetingrooms."roomId", 
         Fullreservation.USERID 
    
  4. 我把它拖动到同一页的图表。 但它不工作,因为值尚未传递到

回答

0

您可以从requestScope

获得价值
ADFContext.getCurrent().getRequestScope().get(obj); 

,然后用NamedWhereClauseParam方法

设置绑定变量此值
ViewObjectInstance.setNamedWhereClauseParam("BindVariabbleName",value); 
ViewObjectInstance.executeQuery(); 
相关问题