如何在Seam中使用相同的表单来编辑子对象?

时间:2009-09-02 19:10:13

标签: jsf seam

我有一个班级,我们称之为任务。任务可以有子任务。子任务可以有子任务等。 我有一个Seam JSF页面,非常好地允许您编辑任何给定任务的所有字段。我还有一个子任务列表,我希望用户能够点击该子任务,并开始编辑它。所以这就是我实施的方式:

<rich:dataList id="subTaskList" var="curSubTask" value="#{task.subTasks}">  
    <s:link view="/party/edit.xhtml" propagation="nest">  
        <h:outputText value="#{curSubTask.title}"/>  
        <f:param name="taskId" value="#{curSubTask.id}"/>  
    </s:link>  
</rich:dataList> 

当我点击链接,在taskId更改的URL上,我得到一个新的会话号码,但数据没有变化。
有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

我个人所做的是使用f:setPropertyActionListener在上下文中设置字段,如下所示

    <f:setPropertyActionListener value="#{curSubTask}"
            target="#{selectedTask}" />

然后重定向到pages.xml中的页面,页面只使用selectedTask。如果可能,我尽量避免使用页面参数。