我想实现一种简单的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步的期望是,第一个setCourseId()当然是myModelBean,后面跟着courseDesignerBackingBean.updateModelBeanByCourseId。但是,当然没有调用setModelBean的setCourseId()。
任何提示?
祝你好运, 阿南德。