可以动态创建JSF页面吗?
问题描述:
我试图通过从数据库中获取页面源,在加载时动态显示jsf页面上的字段。可以动态创建JSF页面吗?
基于某些查询,页面源将从数据库中取出并放到屏幕上,并且组件应该动态显示在屏幕上。
所以会有一个屏幕,但屏幕源数据将来自数据库,并且屏幕上的所有组件都将动态显示在屏幕上。
这怎么办?
答
说实话,在JSF或JSP中执行它不太容易或者性能不高。
您不妨跳过这个麻烦,只写一些简单的Java类来绑定输入&自己渲染HTML输出。
我已经在不同的项目中用大/树结构/可配置的UI做了很多'高级UI'工作。大多数情况下使用JSP,JSTL和Spring - 但性能问题将是相同的。
您需要解决的另一个问题是快速加载所有组件。通常,我们在Hibernate中使用“批量加载”查询来加载所有的子/子树。这非常有效。
答
您可以使用Primefaces扩展动态形式:
http://fractalsoft.net/primeext-showcase-mojarra/sections/dynaform/basicUsage.jsf
将努力是值得的费用是多少? – skuntsel
这听起来不像一个非常强大的方法。您可以使用像Spring Roo这样的技术来创建基于数据库表的Web应用程序,但我不会使用JSF来实现这一点。 – Kayaman
如果您的目标是一个可配置的用户界面,那么您可以通过让数据库包含您想要的自定义字段(字段名称,类型等)的描述,然后让JSF动态地将数据呈现为组件,比数据库包含页面源。这种事情可能会非常迅速地变得非常复杂,所以我认为这对*来说实在太宽泛了。 –