2013-01-11 4 views
0

selectOneMenu의 선택에 따라 다음 목록의 동적 "title"매개 변수를 다른 jsf Facelet에 동적으로 전달하려고합니다. 내 첫 번째 접근 방식은 다음과 같습니다.JSF에서 매개 변수를 전달하는 동적 탐색

<h:form id="form"> 

    <p:selectOneMenu value="#{exerciseEditorBean.selectedExerciseType}" > 
     <f:selectItem itemLabel="Multiple Choice Exercise" itemValue="MultipleChoiceExercise" /> 
     <f:selectItem itemLabel="Vocabulary Test" itemValue="VocabularyTest" /> 
    </p:selectOneMenu> 

    <h:outputText value="Enter Title of your Exercise: " /> 
    <h:inputText id="title" value="#{exerciseEditorBean.exerciseTitle}" /> 

    <h:commandButton value="Next" action="#{exerciseEditorBean.openEditor()}" /> 

</h:form> 

ExerciseEditorBean은 ViewScoped입니다.

openEditor() 함수는 다음에 표시 할 Facelet의 selectedExerciseType 특성을 결정하고 "multipleChoiceEditor.xhtml"과 같은 것을 반환합니다. 이제이 Facelet에 titel 속성을 전달할 수 있습니까?

+0

JSF는 HTTP 게시 요청을 기반으로하는 탐색을 위해 설계되었습니다. 즉, 페이지로 이동하면 매개 변수도이 방식으로 전달됩니다. 나는 북마크를 허용하지 않기 때문에 그 사실을 매우 싫어한다. 매개 변수화 된 URL을 사용하여 요청을 가져 오는 것을 기반으로 탐색하는 것을 선호합니다. IMO URL은'/ editor.xhtml' 또는'/editor.xhtml? type = multiplechoice' 대신에'/ editor/multiplechoice'처럼 보일 것입니다. 관심이 있으시면 PrettyFaces를 살펴보십시오. ;-) – siebz0r

+0

@ siebz0r을 사용하면 ''또는 ''으로 생성 된 URL을 북마크하고 둘 중 하나에서 편리하게 'includeViewParams = true'매개 변수를 전달할 수 있습니다. 둘 다 주식 POST에 대해 명령 XXX 구성 요소와 함께 GET을 생성합니다. – kolossus

+0

[이 답변보기] (http://stackoverflow.com/questions/4317684/when-should-i-use-houtputlink-instead-of-hcommandlink) – kolossus

답변

0

"이제는 multipleChoiceEditor.xhtml? includeViewParams = true"가 작동하지 않는다는 점을 제외하고는 제대로 작동하는 f : ViewParam을 대상 서브렛에 사용합니다. 그러나 이것은 다른 문제입니다. 토론 해 주셔서 감사합니다!

관련 문제