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この問題が発生する他のページを呼び出した場合にのみ、表示されたデータはすべて正しいです。

、 を使用して、ムービー ID だけを送信しようとしましたが (ただし、常に 0 です)、f:setPropertyActionListenerf:paramも機能しません。プロジェクトをデバッグする場合、共有リンクをクリックすると、常に Movie クラスのコンストラクター内のブレークポイントにヒットします。

このインスタンスを正しく渡すにはどうすればよいですか?

4

0 に答える 0