JSF 탐색 및 전달 매개 변수에 문제가 있습니다. , 아티스트, 앨범 페이지마다 빈을JSF 탐색 및 전달 매개 변수
을 추적 :
세 페이지 :이 시나리오입니다 ArtistBean, AlbumBean, TrackBean은 (세션 범위)
는 아티스트 페이지 예술가의 목록을 포함, 각 artistname은 링크이고 클릭하면 해당 아티스트의 앨범 목록이있는 앨범 페이지로 이동합니다. 마찬가지로 앨범을 클릭하면 해당 앨범의 트랙 목록이있는 트랙 페이지로 이동합니다. 다음과 같이
Page artist: <h:commandLink action="#{albumBean.showAlbums(artist)}" value="#{artist.name}" />
Page album: <h:commandLink action="#{trackBean.showTracks(album)}" value="#{album.name}" />
콩 보이는 : 다음과 같이
링크
보인다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이 표시되지 않은 페이지에 대해 backing bean을 호출합니다. 또한 이상한 행동을 보입니다. 주로 트랙을 표시하는 링크는 두 번 클릭하면 작동하지만 앨범을 표시하는 링크는 단지 한 번 클릭 할 때 작동합니다.
미리 감사드립니다.
구체적으로 묻는 것이 확실하지 않습니다. 기본적으로 "여기 내 코드가 맞습니까?"라고 묻습니다. 이것은 비 건설적인 질문이므로 스택 오버플로에 대한 논점이 아니며 일반 토론 포럼에서 더 적합합니다. 더블 클릭 문제 (실제 문제로 보이는 것)에 관해서는 http://stackoverflow.com/questions/2118656/hcommandlink-hcommandbutton-is-not-being-invoked의 포인트 7을 읽으십시오. – BalusC
제 이유 그것이 "내비게이션을 처리하는 좋은 방법"인지에 대해 물어보기 위해 내 링크가 예상대로 작동하지 않는다는 사실에 연결되어 있습니다. 나는 그것을 분명히하기 위해 다르게 표현해야했습니다. 그래도 여전히 질문입니다. 다른 빈에 매개 변수를 전달하는 방법이 건전한 것인지 아니면 문제가 생길 수 있는지 알고 싶습니다. – nivis
시행 착오를 거친 후에 양식 메시지를 설정하는 데 사용한 요청 범위 Bean에 양식 바인딩을 제거 할 때 작동하도록했습니다. 그게 왜 그 문제를 일으켰는지 나는 모른다. – nivis