1

我正在学习 JSF,当我将对象发送到 bean 参数时,对象的实例不正确。

我有一个列出很多电影的页面,如果我想查看有关电影的完整信息,我单击一个链接,将我发送到包含以下代码的页面:

<h:form>
<h:commandLink action="#{sharedMovie.share(movie)}" value="Share">
    <div class="movieDetail">
    <div class="movieDetailTitle">"#{movie.title}"</div>
    <div class="movieDetailYear">"#{movie.year}"</div>
    <div class="movieDetailSynopsis">"#{movie.synopsis}"</div>
    </div>
</h:form>

电影 bean 有一个请求范围。

问题是,当我单击“共享”时,我的班级sharedMovie会收到一个新实例Movie,而不是页面中显示的电影。所有显示的数据都是正确的,只有当我调用其他页面时才会发生此问题。

f:setPropertyActionListener我已经尝试使用,仅发送电影 ID(但它始终为 0)f:param,但没有任何效果。如果我调试我的项目,当我单击共享链接时,它总是会在 Movie 类的构造函数中遇到断点。

我怎样才能正确传递这个实例?

4

0 回答 0