【问题标题】:How to get the rating in primefaces 5?如何在primefaces 5中获得评级?
【发布时间】:2015-07-06 15:05:00
【问题描述】:

我有一个使用 PrimeFaces 5 的 JSF 2 应用程序,尤其是 <p:rating/> 组件。在视图中,组件声明如下:

<h:panelGroup id="avaliacao" rendered="#{meuContexto.avaliacaoPagina==null}">
    <div class="float-right">
    <p:rating value="#{meuContexto.avaliacaoPagina}" cancel="false">
        <p:ajax event="rate" listener="#{meuContexto.onAvaliarPagina}" update="avaliacao" />
    </p:rating>
    </div>
    Você ainda não deu sua opinião sobre esta página. Quando tiver uma opinião, não deixe de registrá-la!
    <div class="float-clear"></div>
</h:panelGroup>

我们的想法是,只有在目前没有人存在的情况下才要求评分 (meuContexto.onAvaliarPagina()==null)。当用户点击星号时,评级应该被设置并且用户继续工作,没有任何页面加载。

这里的消息并不重要。 &lt;p:rating/&gt; 组件位于左浮动&lt;div/&gt; 中,只是为了满足布局。星星被点击通知的方法是这样的:

public void onAvaliarPagina(RateEvent rateEvent) {
    avaliacao.setNota((Integer)rateEvent.getRating());
}

所以,我的期望是当点击其中一颗星星时,meuContexto.onAvaliarPagina() 方法被调用,rateEvent.getRating() 应该包含星星的编号,但我总是收到meuContexto.getAvaliacaoPagina() 重新调整的精确值.

我需要做什么才能在meuContexto.onAvaliarPagina() 中收到用户设置的实际评分?

提前致谢!

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    就在我发布问题后,我注意到该组件不在表单内。所以,这就是问题的根源。

    我会把问题和答案放在这里,以防万一其他人遇到同样的情况!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-31
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多