Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSF/ICEFaces定制组件设计模式&;通读_Java_Jsf_Icefaces - Fatal编程技术网

Java JSF/ICEFaces定制组件设计模式&;通读

Java JSF/ICEFaces定制组件设计模式&;通读,java,jsf,icefaces,Java,Jsf,Icefaces,我需要创建一个自定义组件,它由一个下拉框、树和一个显示面板组成,用于显示节点选定项的详细信息 这个UI组件将是一个弹出窗口,用户可以选择一些项目并添加到支持bean中。 (可用于选择衬衫、汽车或任何符合标高和树数据的物品) 我想知道,在创建用于多种用途的自定义组件时,是否有良好的最佳实践 在头脑风暴之后,我发现了以下问题 1) 如何将选择传回backingbean? 可能的解决方案:为自定义组件实现观察者模式,这样当用户单击[OK]时,它将在关闭自定义组件之前将值传递回支持bean 2) 显示所

我需要创建一个自定义组件,它由一个下拉框、树和一个显示面板组成,用于显示节点选定项的详细信息

这个UI组件将是一个弹出窗口,用户可以选择一些项目并添加到支持bean中。 (可用于选择衬衫、汽车或任何符合标高和树数据的物品)

我想知道,在创建用于多种用途的自定义组件时,是否有良好的最佳实践

在头脑风暴之后,我发现了以下问题

1) 如何将选择传回backingbean? 可能的解决方案:为自定义组件实现观察者模式,这样当用户单击[OK]时,它将在关闭自定义组件之前将值传递回支持bean

2) 显示所选节点的详细信息。(不同类型的项目可能显示不同) 可能的解决方案:我可能会考虑使用UI:包含,但我正在考虑一个更优雅的解决方案

还有其他问题吗


有什么帮助吗?

我将忽略问题中的ICEfaces部分,因为我不使用它

1) 如何将选择传回backingbean

提供一个
value
属性,您可以在其中指定bean属性。最简单的方法是让已经提供此属性的自定义组件进行扩展


2) 显示所选节点的详细信息。(不同类型的项目可以不同地显示)可能的解决方案:我可能会考虑使用UI:包含,但我正在考虑一个更优雅的解决方案

您可以为特定的
提供支持。在组件或其渲染器的
encodeChildren()
中,您可以通过以下方式获取它们