9.4.5. タスクリスト
いくつかの組み込み Seam コンポーネントによりタスクリストの表示が容易になります。
pooledTaskInstanceList は ユーザーが自分自身に割り当てることができるプールされたタスクのリストです。
<h:dataTable value="#{pooledTaskInstanceList}" var="task">
<h:column>
<f:facet name="header">Description</f:facet>
<h:outputText value="#{task.description}"/>
</h:column>
<h:column>
<s:link action="#{pooledTask.assignToCurrentActor}"
value="Assign" taskInstance="#{task}"/>
</h:column>
</h:dataTable>
<s:link> の代わりに普通の JSF <h:commandLink> を使用することもできます。
<h:commandLink action="#{pooledTask.assignToCurrentActor}">
<f:param name="taskId" value="#{task.id}"/>
</h:commandLink>
pooledTask コンポーネントは、単純にタスクを現在のユーザーに割り当てる組み込みコンポーネントです。
taskInstanceListForType コンポーネントは、 現在のユーザーに割り当てられた特定タイプのタスクを含んでいます。
<h:dataTable value="#{taskInstanceListForType['todo']}" var="task">
<h:column>
<f:facet name="header">Description</f:facet>
<h:outputText value="#{task.description}"/>
</h:column>
<h:column>
<s:link action="#{todoList.start}"
value="Start Work" taskInstance="#{task}"/>
</h:column>
</h:dataTable>