2009-09-02 72 views
0

我有一堂课,我们称它为Task。任务可以有子任务。子任务可以有子任务等 我有一个Seam JSF页面,非常好地允许您编辑任何给定任务的所有字段。我也有一个子任务列表,我希望用户能够点击该子任务,并开始编辑它。因此,这里就是我有我实现了:如何在Seam中使用相同的表单获取子对象的编辑?

<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> 

当我点击链接时,并在URL中的taskid的变化,我得到一个新的会话数,但在数据没有变化。
有谁知道发生了什么事?

+0

你能显示你的page.xml和你的页面的其余部分吗? – Damo 2009-09-03 10:54:35

+0

该页面的其余部分工作。它保存,取消,返回。添加其他东西等。没有page.xml文件。 通过父母访问此页面也有效。 (网址:http://blah.com/party/edit.seam?taskId = 1)但是,如果孩子ID是2:(URL:http://blah.com/party/edit.seam?taskId=2 )不起作用,如果你点击链接。如果你直接去那里,它会在结束对话之后起作用。我已经试过它与巢,并加入了相同的结果。 这是谈话和去相同的网页,我相信,我只是不知道什么。 – 2009-09-03 16:35:47

+0

那么你如何在你的Bean中设置taskId的值?您是使用RequestParameter注释还是从参数映射中检索它? – Damo 2009-09-03 23:55:00

回答

0

我个人不使用f设定在上下文领域:setPropertyActionListener如下

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

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

相关问题