问题标签 [composite-component]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jsf - 为什么复合组件不调用
我有一个具有方法签名属性的组件。可以激活,但是如果我把它放在a里面<h:datatable> <h:column/>
触发这个组件,就不行了。
当我再次刷新此页面或将其放在另一个地方时,它可以成功调用。如果有人能告诉我为什么,我将不胜感激!
这是我的代码
当我单击此操作之一时,此 manageredBean #{bookAction} 是 requestScope,就像删除一样,它根本不起作用。但是如果我将“删除”命令链接从<h:datatabel/>
.it 中取出,它可以成功调用支持方法。太难过了!
谁能告诉我是否<h:datatable/>
可以屏蔽 .i 发现如果我将这些代码放入<h:form/>
.it 中也可以调用!你能告诉我原因吗!
jsf-2 - JSF复合组件内的日期转换异常
当我从 JSF 访问 JPA 托管日期值时,它返回 javax.faces.component.UdateModelException 说
当直接从 EL 中使用时,使用 JPA 管理的日期值(这意味着它是代理的)可以正常工作,如下所示:
但是,在尝试将其与复合组件一起使用时会导致麻烦,并返回以下转换器异常,因此无法更新模型......
(简化的)JSF 复合组件 inputDate.xhtml
假设:当从组合内部访问值时,OpenJPA 中的代理替换的处理方式似乎有所不同。我的猜测是 EL 解析器在将对象值传递给组合时以不同方式处理对对象值的调用。将它传递给组合意味着它首先在组合中被访问,这为时已晚并且没有完成所需的代理替换(因此转换器异常)
因此,我尝试更改 MyFaces 的表达式语言,但它在 Websphere 中不起作用,即使我最后将类加载更改为父级并在 lib 文件夹中从 glassfish 提供了 el-impl 和 el-api 并插入了必要的上下文-MyFaces 的参数
你们如何在复合组件中使用 JPA 管理的日期(或其他代理实体)???
java - JSF2:如何在组件内的特定位置呈现复合组件的子组件?
我在引用和显示复合组件的子组件时遇到问题:
wheremycomponent
是这样定义的:
我可以通过列出组件的子组件,#{cc.children}
但我不知道如何在复合组件的特定位置呈现它们。有什么想法或解决方法吗?
jsf - 通过可选到复合组件中的 JSF 组件
我希望将属性值传递给复合组件的内部组件。总而言之,我们正在尝试将 h:outputLink 包装在一些进一步的 XHTML 中。我们希望可选地使用可与 outputLink 一起使用的 DHTML 事件属性。我们可以在内部组件中提供它们并用值填充,但是呈现的 XHTML 将有许多空属性声明(即等)。希望 a 作为方面传入或直接作为内容使用 dwithin 。这似乎不起作用。
我认为应该起作用的一个简短示例:
组件文件 - foo.xhtml
有任何想法吗?
java - JSF 2 - 如何在复合组件子项完成操作后执行操作?
我仍在学习在 JSF 2 中使用复合组件的一些功能。我在 JSF 1.2 开发方面经验丰富,最近阅读了 Geary 和 Horstmann 的《Core Java Server Faces 3rd Edition》一书。
我想要做的是创建一个复合组件,它包装了一个文件上传组件(当前使用 PrimeFaces <p:fileUpload>
)。我需要将上传的文件与会话范围托管 bean 上的基于字符串的键相关联(稍后使用)。我正在尝试通过名为“uploadedFileKey”的复合组件接口上的属性提供密钥。这是界面:
实现很简单,并使用我之前提到的 PrimeFaces fileUpload 标记。它需要一个带有事件处理程序的托管 bean,我也是根据 PrimeFaces 展示 web 应用程序中的示例代码创建的。这是我的实现:
我不打算在这里包含整个控制器 bean,但这里是类声明:
PrimeFaces 文件上传与我见过的其他文件没有什么不同。它使用Filter
Faces Servlet 上的自定义来访问上传数据。实际的文件上传部分工作正常,上传成功后,我将上传的文件存储在我的 Tomcat 服务器上的临时文件中。
我的问题是不知道如何让我的复合组件在成功上传后采取行动。我希望我的复合组件将其存储uploadedFileKey
在Map
特定会话范围的托管 bean 中,并将上传File
的映射值作为映射值。我怎样才能做到这一点?
jsf - JSF 2 复合组件 EL 类型转换错误
我有一个 JSF 复合组件,它在接口部分有一个 EL 表达式,代码片段如下。
现在我的问题是 "default="#{cc.attrs.label ne null}" 给出了一个错误。
我正在使用 JSF 2.0.4、EL 2.1、WAS 7
java - JSF 组合组件和 selectItems
我一直在玩复合组件,但遇到了一些我无法弄清楚的事情。如果不使用复合组件,我会有这样的东西:
我基本上把那个片段变成了一个复合组件:
现在这里是我难住的地方。我知道我可以将我想在组件中使用的项目列表放在一个支持 bean 中,并像这样使用它:
真正的问题是是否有一种方法可以传递选项而不必使用支持 bean?我猜是这样的:
或许
注意:显然这两个不起作用,否则我不会问这个问题。
jsf-2 - JSF 2 嵌套复合组件问题
我已经阅读了一些关于在 JSF 2 中编写复合组件甚至定义嵌套复合组件的文章,但是我还没有找到定义可以接受未定义数量的子组件的复合组件的示例。
我希望能够创建一个可以以类似方式使用的复合组件:
是否有关于如何使用新的 JSF 2 语法实现此目的的示例或说明?
谢谢!
jsf - JSF2/Facelets 中的私有/作用域变量?
我可能没有正确思考 JSF 中的可视化组件,但我想这是我的问题的一部分。我的问题是围绕 JSF <ui:component> 实现中声明的变量似乎缺乏范围。
所以,假设我有 /resources/comp/myPanel.xhtml:
并且有一个资源包被加载到该组件中,panelOnly/bundle.properties:
然后我有一个放置 myPanel 组件 mainPage.xhtml 的页面:
并且有一个资源包被加载到主页中,mainPage/bundle.properties:
现在,我假设我的页面应该呈现为:
但是,相反,我得到:
我认为这是因为我破坏了组件中“bundle”符号所指的内容,因此当 mainPage.xhtml 尝试解析该值时,它会查看组件的“bundle”对象而不是原始 mainPage 的对象。
迄今为止,我的解决方法是在我的组件中使用唯一的命名变量,这些变量永远不会与我的主页上的变量发生冲突。但如果有一种方法可以让 JSF 将我的组件中声明的任何内容识别为本地范围的变量,而不是破坏调用者的符号,我会更愿意。
我认为还有其他标签可以用来在#{cc.attrs...} 下制作局部范围的变量。如果您可以在答案中列举我的本地范围选项,那将非常有帮助。我怀疑我的 <f:loadBundle> 是一种特殊情况,并且可能没有解决方法,因为它不是在设计时考虑到 <ui:component> 的。
谢谢!
PS 我正在运行 Mojarra 2.1.1 (FCS 20110408)
(针对格式化和复制粘贴错误进行了编辑,2011 年 6 月 15 日)
jsf - 将方法参数/参数传递给复合组件操作属性
标题真的说明了一切。我进行了一次尝试,但因错误而失败:
Illegal attempt to pass arguments to a composite component lookup expression (i.e. cc.attrs.[identifier]).
我的尝试如下所示:
这样做的正确方法是什么?