我在 JSF 导航和传递参数方面遇到了一些问题;这是场景:
三页:艺术家、专辑、曲目
每个页面都有一个 bean:ArtistBean、AlbumBean、TrackBean(会话范围)
艺术家页面包含艺术家列表,每个艺术家名称都是一个链接,单击它时,您会导航到列出该艺术家专辑的专辑页面。同样,单击专辑时,您会导航到包含该专辑曲目列表的曲目页面。
链接如下所示:
Page artist: <h:commandLink action="#{albumBean.showAlbums(artist)}" value="#{artist.name}" />
Page album: <h:commandLink action="#{trackBean.showTracks(album)}" value="#{album.name}" />
bean 如下所示:
AlbumBean: public String showAlbums(Artist artist){
[generate list of albums, fetched by page "albums" using getAlbumList()]
return "Albums";
}
public List<Album> getAlbumList(){
return albumList;
}
TrackBean: public String showTracks(Album album){
[generate list of tracks, fetched by page "tracks" using getTrackList()]
return "Tracks";
}
public List<Track> getTrackList(){
return trackList;
}
我不确定这是否是处理导航的“OK”方式;为尚未显示 bean 的页面调用支持 bean。我也遇到了一些奇怪的行为,主要是显示曲目的链接仅在我单击两次时才有效,而显示专辑的链接在单击一次时始终有效。
提前致谢!