Alfresco:如何为cm:person关联设置默认表单值
我有一个带有关联字段的Alfresco工作流表单,允许选择多个用户。字段UI定义是隐式的(模型定义关联) 我想用当前登录用户初始化该字段 我尝试过使用表单筛选器并使用Alfresco:如何为cm:person关联设置默认表单值,alfresco,Alfresco,我有一个带有关联字段的Alfresco工作流表单,允许选择多个用户。字段UI定义是隐式的(模型定义关联) 我想用当前登录用户初始化该字段 我尝试过使用表单筛选器并使用FieldUtils.makeAssociationField()将NodeRef用作值,然后使用form.addField(),但这会导致不支持操作异常 虽然我使用相同的技术来初始化属性字段,但没有任何问题 有人能给我指点解决办法吗 private void initInitatorNodeRef(final Form form)
FieldUtils.makeAssociationField()
将NodeRef用作值,然后使用form.addField()
,但这会导致不支持操作异常
虽然我使用相同的技术来初始化属性字段,但没有任何问题
有人能给我指点解决办法吗
private void initInitatorNodeRef(final Form form)
{
final String userName = AuthenticationUtil.getFullyAuthenticatedUser();
if (userName != null)
{
final NodeRef person = personService.getPerson(userName);
if (person != null)
{
final AssociationDefinition definition =
serviceRegistry.getDictionaryService().getAssociation(MywfModel.ASSOC_AUTHORS);
final Field field =
FieldUtils.makeAssociationField(
definition, person, null, serviceRegistry.getNamespaceService(),
serviceRegistry.getDictionaryService());
form.addField(field);
}
else
{
throw new RuntimeException("Person not found.");
}
}
else
{
throw new RuntimeException("UserName not found.");
}
}
发现了一个:
form.addData()
在某个Map.put调用上引发异常,由于关联上下文中的某些原因,无法更新字段数据的映射。我用内部方法form.getFormData().addFieldData()
替换了上面的行,强制覆盖参数为true,它就可以工作了。在我的表单中,关联现在已正确初始化
发现了一个:
form.addData()
在某个Map.put调用上引发异常,由于关联上下文中的某些原因,无法更新字段数据的映射。我用内部方法form.getFormData().addFieldData()
替换了上面的行,强制覆盖参数为true,它就可以工作了。在我的表单中,关联现在已正确初始化
你能为你的异常附加完整的跟踪和你的露天版本吗!没有堆栈跟踪。FormUIGet webscript似乎捕获并屏蔽了异常。我目前正在Enterprise 5.0.2上进行测试,原因是您的模型中已经定义了该关联,并且您正在添加一个同名的新关联吗?您是否考虑过其他选择,例如在开始执行任务之前在某个ExecutionListener上设置值?是的表单.addData()
将其抛出到某个Map.put调用中,由于关联上下文中的某些原因,无法更新字段数据的映射。我用内部方法form.getFormData().addFieldData()
替换了上面的一行,以强制overwrite
参数为true,然后它就工作了。在我的表单中,关联现在已正确初始化。您能否将您的异常的完整跟踪与您的alfresco版本一起附上!没有堆栈跟踪。FormUIGet webscript似乎捕获并屏蔽了异常。我目前正在Enterprise 5.0.2上进行测试,原因是您的模型中已经定义了该关联,并且您正在添加一个同名的新关联吗?您是否考虑过其他选择,例如在开始执行任务之前在某个ExecutionListener上设置值?是的表单.addData()
将其抛出到某个Map.put调用中,由于关联上下文中的某些原因,无法更新字段数据的映射。我用内部方法form.getFormData().addFieldData()
替换了上面的一行,以强制overwrite
参数为true,然后它就工作了。在我的表单中,关联现在已正确初始化。