我是activiti的新人。我需要从activiti工作流程中显示一个jsp页面。我怎样才能做到这一点。我尝试添加
<userTask id="usertask1" name="User Task" activiti:formKey="C:\Users\au829112\Documents\Userdata\HRSystem\src\main\webapp\WEB-INF\views\flow.jsp"></userTask>
但根本没有工作。任何人请帮忙。
答案 0 :(得分:0)
您可以使用formKey-Attribute执行此操作。在这里看一下这篇文章:Activiti workflow and Orbeon XForm Integration
它描述了一种将XForms集成到Activiti中的方法,但这也适用于JSP-Pages。
此外,用户指南可以帮助您了解formKey-Attribute:http://www.activiti.org/userguide/#externalFormRendering
Activiti论坛中的几篇文章也涉及此主题:http://forums.activiti.org/content/using-jsp-instead-forms
答案 1 :(得分:0)
我假设您使用的是默认表单引擎(JuelFormEngine),如果您没有明确配置其他内容,那么这就是您正在使用的内容。
在这种情况下,formkey路径应该引用部署栏文件中的文件而不是文件系统上的路径。 请注意JuelFormEngine类中的以下代码以检索表单模板:
protected String getFormTemplateString(FormData formInstance, String formKey) {
String deploymentId = formInstance.getDeploymentId();
ResourceEntity resourceStream = Context
.getCommandContext()
.getResourceEntityManager()
.findResourceByDeploymentIdAndResourceName(deploymentId, formKey);
请注意它如何从部署中提取资源。 因此,为了使用表单键,您需要创建一个.bar文件(一个简单的zip文件),并将过程模型以及任何引用的表单jsp添加到zip文件中。然后将其部署到Activiti引擎。
请注意,Activiti非常灵活,表单键的处理方式完全取决于您使用的表单引擎。
希望这有帮助。