0

我想实现一个简单的 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" + "&amp;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>

我对第三步的期望是 courseModelBean 的第一个 setCourseId() 将被调用,然后是 courseDesignerBackingBean.updateModelBeanByCourseId。但是, setCourseId() courseModelBean 没有被调用。

有什么提示吗?

最好的问候,阿南德。

4

0 回答 0