何らかの理由で期待どおりに機能しない単純な PRG アプローチを実装したいと考えています。助けてください。
1) firstpage.xhtml から POST を実行します。
<p:column>
<p:menuButton value="#{i18n['actions']}">
<p:menuitem value="#{i18n['edit-course']}" icon="ui-icon-pencil" ajax="false"
action="#{courseDesignerBackingBean.navigateToEditCourse(course.courseId)}" />
<p:menuitem value="#{i18n['delete-course']}" icon="ui-icon-trash" ajax="false"/>
</p:menuButton>
</p:column>
2) ここでは、アクションを処理してリダイレクトを行っています。
public String navigateToEditCourse(long courseId){ String outcome = "editCourse?faces-redirect=true" + "&courseId=" + courseId; System.out.println(outcome); return outcome; }
3) editCourse.xhtml ページで、リクエスト パラメータを読み込んでいます。
<f:metadata> <f:viewParam name="courseId" value="#{courseModelBean.courseId}"/> <f:event listener="#{courseDesignerBackingBean.updateModelBeanByCourseId}" type="preRenderView"/> </f:metadata>
3 番目のステップでの私の予想は、courseModelBean の最初の setCourseId() が呼び出され、その後に courseDesignerBackingBean.updateModelBeanByCourseId が呼び出されることでした。しかし、setCourseId() の courseModelBean は呼び出されません。
ヒントはありますか?
よろしく、アナンド。