我正在学习 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 类的构造函数中遇到断点。
我怎样才能正确传递这个实例?