1

问题描述

我使用带有自建 JSF UI 的工作流引擎。引擎中的某些进程使用所谓的用户任务。这些任务在我的 JSF 前端中呈现并包含必须由用户填写的中小型表单。工作流前端应该是完全通用的——它不应该知道处理了哪些任务或哪些类型的任务。因此,我想不在 JSF 应用程序中定义这些任务表单。表单应该沿着相关流程“存在”,因此在工作流引擎中。这很重要,因为否则每次将更改应用于任何次要表单时都必须重新部署前端应用程序。
所以我想获取表格(基本上是.xhtml文件)并将其作为简单的 JSF 视图添加到应用程序中。如果用户想要完成一项任务,则应拉取并呈现相应的 JSF 表单。

我想在运行时将 JSF 组件(或整个视图)集成到我的应用程序中,因此在构建或启动时完全未知。

我怎样才能做到这一点?这甚至可能吗?

提前致谢!

4

1 回答 1

2

至于 JSF 组件,您绝对可以通过编程方式创建它们。这在这里得到了回答:如何创建动态 JSF 表单字段。请注意,对于 JSF 2.x,这个概念没有什么不同。只有时机;您需要在视图构建期间运行它。A <f:event type="postAddToView">on a parent 是理想的钩子。或者,在父属性的 getter 中懒惰地执行此操作binding,但这会破坏视图范围,并且 bean 肯定需要在请求范围内。

对于 JSF 视图,您需要创建一个自定义的ResourceResolver. 在这些答案中可以找到具体示例,其中包括从外部文件系统或数据库获取 Facelets 模板/文件

于 2013-04-10T12:00:15.893 回答