0

问题:: 如何在查询中将值传递给名为“userParameter”的参数。使用 requestScope
请帮助您完成使请求范围在同一页面上工作的步骤。

现在我知道以下内容。

  1. 我有一个名为 UserRoomReservation 的页面

  2. 我有一个数据控件(UserView) 将第一个数据控件拖为表格。将第一列转换为链接将 actionlistener 添加到该链接,从:#{row.userId} 到:#{requestScope.userParameter}

  3. 我通过sql查询创建了另一个视图对象我放了一个命名参数“:userParameter”,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. 我将它拖到与图表相同的页面。但它不起作用,因为该值尚未传递给

4

1 回答 1

0

您可以从 requestScope 获得价值

ADFContext.getCurrent().getRequestScope().get(obj);

然后使用 NamedWhereClauseParam 方法在绑定变量中设置此值

ViewObjectInstance.setNamedWhereClauseParam("BindVariabbleName",value);
ViewObjectInstance.executeQuery();
于 2017-05-05T11:15:43.990 回答