问题标签 [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.

0 投票
2 回答
2959 浏览

validation - JSF 复合组件验证

我想创建复合组件并将一些验证器附加到它的子组件,但我希望来自验证的消息附加到复合组件,而不是它的子组件。

在使用复合组件的页面中,我想要这样的东西:

现在它不起作用,因为消息是针对组件的子组件,而不是复合组件本身。如何为整个组件制作它?

或者更好的是,我想向复合组件添加验证器,例如:

并且接收类似布尔数组的东西作为值,因为在复合组件内部有h:selectBooleanCheckbox元素。那可能吗?

0 投票
0 回答
989 浏览

validation - 复合组件的验证器验证,但也抛出异常

我想将验证器附加到复合组件,并且我希望它附加到内部的每个子组件:

所以在页面上我有:

验证按预期工作,但 JSF 也会抛出一条消息: ..../form.xhtml validator="#{bean.validationMethod}": The class 'my.package.Bean' does not have the property 'validationMethod'.

我怎样才能摆脱这个消息?

0 投票
1 回答
3689 浏览

jsf - JSF2 复合 cc.attrs 表达式未正确评估操作参数

我有一个 JSF 复合组件,它是一个可以动态添加和删除的电子邮件地址列表:

该组件的使用如下:

在调用“deleteEmail”操作的地方会导致异常:

错误 [STDERR] 原因:javax.el.MethodNotFoundException:/resources/edit/emailAddresses.xhtml @34,130 action="#{cc.attrs.addressable.remove(email)}":找不到方法:无接口视图端点 [ jboss.j2ee:jar=tephra.war,name=PersonAddressable,service=EJB3 ] 和会话 3j011-mgweoj-ghfwhlvv-1-ghfy2e5j-e1.remove()

但是,如果将操作更改为 personAddressable.remove(email) 它就可以了!这似乎是简单的参数替换,不应该有任何区别。添加没有参数的电子邮件地址的操作可以正常工作。

我不会发布支持 bean 的代码,因为我已经证明它有效。但作为参考,它是一个有状态的对话范围 bean (CDI)。

我正在使用使用 el 2.2 的 JBoss AS6-M5。

0 投票
1 回答
1490 浏览

java - JSF 2.0(Primefaces) - 如果通过 ID 引用复合组件是不可访问的

有简单的复合组件(compositeComponent.jsf),嵌入到 global.jsf 页面。

问题是 ajax 不能更新这个组件。也不:componentId, notformId:componentId声明不起作用。

我应该在我的 bean 中编写自己的方法生成器来生成 id 吗?

见图片。了解更多信息! 替代文字

0 投票
2 回答
1837 浏览

jsf-2 - JSF2.0:EL 未在复合组件标记库中解析

我正在尝试在我的办公室创建一个自定义复合组件标签库,但我遇到了一个奇怪的 EL 问题。似乎 #{cc.attrs.[var] } 的表达式已经解析为空。

我尝试在 jar 中创建我的 taglib。在我的 jar 中,我的文件排序如下:

|_ /

.....|_ META-INF

..........|_ compo.taglib.xml

..........|_ 资源

................|_ 组件

.....................|_ hello.xhtml

compo.taglib.xml 包含:

hello.xhtml 包含:

我的 Web 项目在 WEB-INF lib 中包含我的 taglib 作为 jar、jsf-impl.jar 和 jsf-api.jar(来自 Mojarra)我的页面就是:

在渲染时我看到“你好!” 但不是“你好约翰!”。属性值似乎在某处丢失。我在 tomcat 6.0.29 和 Websphere 7 上尝试了这个示例。

我做错了什么?

0 投票
1 回答
2833 浏览

jsf - JSF 2.0:将复合组件属性传递给内部复合组件

我有以下情况:

因此,在我的复合组件内部,我正在调用其他一些复合组件并尝试将给“主”复合组件的参数传递给内部复合组件。

这失败了,因为在x:someComponent标签内部,cc隐式对象似乎引用了 this x:someComponent

一种解决方法是为创建一个临时字段,x:someComponent因此可以通过以下方式实现:

然而,这是非常丑陋和不方便的。

解决这个问题的任何其他方法?

0 投票
1 回答
2692 浏览

jsf-2 - Java facelets 动态加载和复合组件属性

目前,出于教育目的,我正在尝试使用带有 Facelets 视图技术的 JavaServer Faces 2.0 实现 webpart 技术。我创建了 facelet 模板、facelet 自定义组件并制作了一些 facelet“模板”客户端。但在一件事上我被困住了。我无法动态加载控件并放置它们cc:attributes

例如,如果我有一个带有静态文本的页面或将其与 ManagedBean 绑定,则该属性ui:include一切正常。

这是我的 facelet 控件(数据绑定在此控件内#{TreeBean.root}

但是当ui:include指向带有cc:attribute. 我不知道如何从支持 bean 初始化这个属性并做“东西”。

例如我有这个页面:

这是复合控件:

和支持bean代码:

如何才能做到这一点?

0 投票
1 回答
1061 浏览

jsf - 将 bean 方法传递给组合

我想知道是否存在某种方法可以将某个 webbean 获取的列表传递给 JSF 2.0 中的组件?webbean getList 应将客户端列表返回给组件。例如:

零件:

用户页面应传递返回 List 对象的 webBean 的位置。

你能给我一个例子吗?

此致

0 投票
1 回答
2313 浏览

java - JSF 视图计算

我知道对于 JSF 2,facelets 是首选的视图声明语言。

JSP 到 jsf 是否已弃用?

无论如何,我需要创建一个特殊的布局,所以我不能使用 Datatable。相反,我有 6 个 div 用作我删除文章集合的列。我的问题是我有一个 JSF 复合组件,它注入了一个 Collection A:

目的。

然后,该组件需要将集合的大小划分为每列的相等部分。然后为每个设置适当的偏移量和大小

所以我最终得到了这个

那么如何计算这些偏移量和大小,以便每列迭代集合的一部分?或者也许有更好的方法?

0 投票
1 回答
338 浏览

java - 用于复合组件的 ManagedBean

我正在开发一个复合组件,它必须进行一些计算才能使布局正常工作。对 EL 来说很复杂的计算(实际上并不复杂,但我无法通过 EL 执行它们)。我可以专门为该复合组件创建一个 ManagedBean 吗?这实际上是关于这是否是好的做法,我想我应该在诉诸组件专用 managedbean 之前尝试很多方法。如果可以,组件如何在渲染之前调用托管 bean 逻辑。假设它必须根据某些属性计算内部 div 的高度和宽度。这甚至可能吗?我想在组件中封装执行此类计算等的所有复杂性。