基于Activiti List <formproperty> </formproperty>动态生成Play 2(Scala)表单

时间:2014-12-10 07:46:33

标签: scala playframework-2.0 activiti

我正在与Activiti一起评估Play 2(Scala)。我试图陷入困境 渲染Activiti表格。 Activiti使用List<FormProperty>来声明表单的结构。每 FormProperty代表一个字段,定义其名称,值,类型等。

如何通过循环遍历这些属性列表来生成Play 2表单?

我已阅读ScalaForms文档,但所有示例均假设表单字段为 在编译时已知。

在Pseudo-Scala中,我需要类似的东西:

val dynamicForm: Form[DynamicFormData] = Form(
  mapping(
    // This obviously doesn't work, but just to illustrate the idea...
    for (p <- activitiFormProperties) {
        p.getName -> resolveToPlayMapping(p.getType)
    }
  )(DynamicFormData.apply)(DynamicFormData.unapply)
)

其中DyncamicFormData是由地图数据结构支持的非案例类。

PS:我知道Play 2让我有能力在视图模板中手动循环我的属性,并使用request.body.asFormUrlEncoded来访问POST上的数据,但我对使用{{{我}特别感兴趣1}}类及其所有验证,错误处理,视图助手基础结构。

0 个答案:

没有答案