我正在学习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
,f:param
发送电影ID(但始终为0),但无效。如果我调试我的项目,当我点击共享链接时,它总是点击Movie类的构造函数内的断点。
如何正确传递此实例?