将参数传递给PrimeFaces星级组件?

我正在尝试使用PrimeFaces的Star Rating组件。 但是,它不允许您传入参数。 这使得我无法进行查找以从数据库中获取我想要评分的实体。 我尝试过类似的东西,但没有成功:

有没有其他方法可以将参数传递给我的动作类? 有什么我想念的东西会让我得到我想要的行为吗? 谢谢你的帮助!

我终于想出了如何做到这一点……

     

然后,在我的动作类中,我可以通过执行此操作获取selectedObj的值…

 String selectedObjID = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("selectedObj"); 

小菜一碟!

我解决了如下:

        

在我的支持bean中,我能够获得contentId的值,如下所示:

 Map params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); int contentId = Integer.parseInt(params.get("contentId")); 

f:viewParam允许您将请求参数传递给bean属性

    

id在页面加载时在MyObj Bean中设置

  

由于您的bean具有id,因此在调用rateListener方法时,可以使用id将评级保存到数据库

您是否尝试在按钮中使用f:setPropertyActionListener,以便可以将任何参数发送到您的操作类? 或者你必须在p:评级内进行?

或者你可以做类似的事情

私人评级;

// getter -setter

在你的action bean中,你可以访问这个值((UIParameter)rating.getChildren()。get(0))。getValue();

如果是这种情况,你可能会做错了,因为在使用JSF时不应该这样。

只是我的两分钱……