(2)jBPM websale代码学习: home.jsp(显示任务列表)

本文介绍使用JSF技术实现用户任务列表的方法。通过homeBean的getTaskInstances方法获取任务实例列表,并利用JSF标签展示任务信息,包括任务链接、所属流程及版本等。点击任务名称会触发selectTaskInstance方法加载具体任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//调用homeBean的getTaskInstances方法,得到一个LIST。该LIST的每个元素的名称为 var="taskInstance"

<h:dataTable value="#{homeBean.taskInstances}" var="taskInstance" headerClass="tableheader" columnClasses="tablecell">

//h:column表示一列,相当于JSP中的 TD
<h:column >

 //f:facet 表示列表表头
<f:facet name="header">
<h:outputText value="Task Form Link" />
</f:facet>

 //h:commandLink相当于我们平常的href,action表示点击后要执行的动作
<h:commandLink action="#{homeBean.selectTaskInstance}">

//f:param是在jsf中传递变量的方法
<f:param name="taskInstanceId" value="#{taskInstance.id}"/>

 //h:outputText 表示要显示的任务的名称
<h:outputText value="#{taskInstance.name}" />
</h:commandLink>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Process" />
</f:facet>
<h:outputText value="#{taskInstance.taskMgmtInstance.taskMgmtDefinition.processDefinition.name}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Version" />
</f:facet>
<h:outputText value="#{taskInstance.taskMgmtInstance.taskMgmtDefinition.processDefinition.version}" />
</h:column>
</h:dataTable>

用上面的JSF代码就显示了当前进入系统的用户的任务列表,点其中的一个任务名称后,就执行下面的代码:

homeBean.java:

public String selectTaskInstance() {
// Get the task instance id from request parameter
long taskInstanceId = JsfHelper.getId("taskInstanceId");
TaskInstance taskInstance = taskMgmtSession.loadTaskInstance(taskInstanceId);
taskBean.initialize(taskInstance);
return "task";
}

其中,从request中取parameter的方法如下:

public static long getId(String parameterName) {
long value = -1;
String valueText = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(parameterName);
try {
Long id = new Long(valueText);
value = id.longValue();
} catch (NumberFormatException e) {
throw new RuntimeException("couldn't parse '"+parameterName+"'='"+valueText+"' as a long");
}
return value;
}

jBPM把parameter的读取都用自己的方法封装起来,达到了简化和快速开发的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值