具有JSF的动态网页

| 我们有一个庞大的(许多不同视图)Java EE应用程序,其Web层将DHTML内容传输到浏览器以生成当前视图。 我们使用自定义的Javascript AJAX框架来管理视图上的标准化组件事件,该框架由初始页面模板加载,该页面模板将承载所有休假的不同视图。 我们为“非程序员”构建了一个工具,该工具用于根据布局,事件和相关功能定义Web视图。定义视图后,将以编程方式创建DHTML并将其存储在数据库中。 对视图的用户请求(AJAX)由操作对象处理,该操作对象从DB中提取DHTML内容并将其发送到浏览器,然后在模板或模式窗口中呈现该内容。 由于各种原因,我们计划摆脱Javascript框架,并将视图事件管理移至服务器端。 在寻找一种可行的Java框架时,我们研究了JSF,该接缝具有所需的所有功能,除了前面所述的动态创建视图的功能。 我们错过了一些JSF功能或解决方法吗? 如果不是,您是否知道我们可以适应我们需求的其他类似框架?     
已邀请:
您当然可以在JSF中动态构建视图。在不了解有关所构建内容的更多详细信息的情况下,我无法建议一种最佳方法,但是以下几种方法可以动态构建视图: 使用ui:include并将src属性绑定到托管bean的属性 混合使用ui:include和JSTL 有时这可能会很棘手,因为当您将JSTL与JSF标签混合使用时,您需要了解在呈现生命周期中每种标签将在何处执行以使其执行您想要的操作,但是一旦学习,它便是最简单的方法。 将组件绑定到托管bean上的字段并在服务器端对其进行操作 我采用这种方法在应用程序中动态生成表单。表格将根据报告类型,用户类型以及大量其他条件而变化。我只是将面板网格JSF组件绑定到服务器端的字段,然后开始“手动”创建子元素(例如:UISelectOne dropdown = new UISelectOne();),将它们作为子元素添加到面板中网格(例如:panelgrid.getChildren()。add(dropdown ;;))。 它不一定是panelgrid,当然也可以是PrimeFaces Layout控件,您可以在其中动态生成layoutUnit子级。关键是,任何控件都可以绑定到托管bean中的变量,并且您可以根据所需条件在服务器端对其进行操作。     

要回复问题请先登录注册