问题标签 [uirepeat]
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 - JSF ui:重复渲染
我想使用 ui:repeat 或任何其他迭代标记为数组列表中的每个项目显示多个组件一次。
我在这里取出了很多我的代码,所以可能有 un macthed div 等,但想法就在那里。
我有两个问题:
- 你可以看到一些组件有更改事件,这些事件会根据 id 呈现其他组件。这些在重复中不起作用
- 我正在使用 webflow 并将消息添加到消息上下文中,以便消息标签可以显示验证消息,但这些在迭代中也不起作用。
我试过 tr:iterator、c:forEach、a4j:repeat、tr:forEach。我很确定我正在尝试做的事情不可能像我尝试做的那样,所以如果有人有尝试实现类似的经验,我会很感激一些帮助。我无法更改我正在使用的 MVC 框架,但也许可以使用 jQuery。
jsf-2 - ui:repeat 是否需要唯一的变量名称?
首先,让我解释一下结构。我有一些 JSF Facelets 页面,它们使用模板来提供带有动态生成菜单的通用标题。在该模板中,使用以下代码生成菜单:
每个单独的页面都有一个页面支持 bean,它知道如何设置其菜单,因此在呈现页面之前,使用以下代码设置菜单:
它调用所有特定页面支持 bean 扩展的抽象类中的 setup 方法,然后进行一些调用以将正确的元素添加到 mainMenueBackingBean 的菜单列表。到目前为止,这对我们来说非常完美,直到现在我们还没有遇到任何问题。
在一个新页面上,我们有一个动态布局的表格,使用以下代码实现:
页面第一次完美呈现。问题是,当您单击表中的 commandLink 或 commandButton 时(并且只有此表,页面上没有其他命令元素会导致此问题),会生成一个错误,如下所示:
serverError:类 javax.faces.view.facelets.TagAttributeException /WEB-INF/templates/secure.xhtml @130,106 id="submenu_#{item.nameText}":在 org.ppa.db 类型上找不到属性“nameText”。 serializabledb.FaxItemsContainer
错误位置 (@130,106) 是我在上面引用的菜单代码,但正在查看的对象类型 (FaxItemsContainer) 在上面的动态表中使用,而不是菜单。在摆弄了一会儿之后,确保它不是 ajax 问题、ui:include 问题或其他任何问题,我们最终将表中的 var 名称从“item”更改为“faxItem”,它出现了去工作。
所以最终,我的问题是我认为 ui:repeat (和其他 JSF 组件)的 var 名称在范围内是本地的,因此同一页面上的两个 ui:repeat 使用相同的 var 名称并不重要;不是这样吗?同一页面上的 ui:repeat 标签真的需要唯一的 var 名称吗?
我在 Tomcat 7 上运行 Mojarra 2.1.3。
ajax - f:ajax 不更新 ui:repeat
我的 JSF 页面是这样的,该<f:ajax>
部分现在可以工作了。
我的豆是:
我的问题是<f:ajax execute="@form" render="projects" />
不会将值填充到<h:panelGroup id="projects">
. 这是如何引起的,我该如何解决?如果我使用<h:dataTable>
而不是<ui:repeat>
,那么它工作正常。
jsf-2 - 如何在 JSF 中动态设置 ID 中的数字
我在 JSF2 和 Facelets 的帮助下设计了一个 JavaEE 网站。超出的代码只是 JSF 代码的示例。
当网站的用户想要创建新用户但忘记设置例如名字时,会发生错误并且元素将被突出显示(元素周围的红色和红框)。为了突出显示,我必须使用该属性:
class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}"
问题是我必须动态设置数字 0,但据我所知,JSF 中不允许嵌套。我可以使用 #{curUser.number} 来获取号码。
问题:如何设置 for 和 class 属性中的数字?
for="createUsersForm:allUsers:0:firstName" class="#{faceletUtils.getLabelStyleClass('createUsersForm:allUsers:0:firstName')}"
JSF 代码示例:
最好的问候,贾娜
forms - 之内不完全工作,只有最后一个被处理
我想在同一页面中编辑项目列表。每个项目都应使用单独的表格进行编辑。我在 ui:repeat 中创建 ah:form。只有在提交最后一个表单时,用户输入才会应用于托管 bean。对于所有其他形式,用户输入不会应用于模型。
在视图中,我有
我搜索了几个小时而没有任何解决方案。这样做的正确方法是什么?我可以通过使用单个表单并在其中使用 ui:repeat 来破解它。但这有很多问题,我宁愿不走那条路。谢谢。
jsf - ui中的JSF文件上传:重复
我有一个 UI,可以选择将多个特定性质的文档上传到一个问题。在我的应用程序的其余部分,我可以毫无问题地上传单个文件。
环境
- 雄猫 7.0.x
- Mojarra JSF 实施 2.1.3 (20110908-FCS)
- JSF 2.1 和 Primefaces 2.2
- 阿帕奇战斧。
代码说明
这是循环文档信息实体的代码。这些实体要么是来自数据库的记录,要么是占位符。如果实体存在,实体将具有指向数据库中项目的 ID,否则将为 0,这意味着它是占位符并且可以上传文件。
在占位符的情况下,有一个上传按钮,它会弹出一个 Primefaces 对话框,其中包含一个 Tomahawk 文件上传组件。
代码
这是JSF代码:
ReportBean中的uploadedFile属性:
问题
我愚蠢地只有一个上传文件变量来处理上传文件的整个循环;因此,循环中的最后一项始终会覆盖其他项,因此除了最后一项外,无法上传任何内容。我显然需要为每次循环指定不同的上传文件。我尝试使用 List<UploadedFile> 失败,但不清楚如何初始化数组或 t:inputFileUpload 组件如何更新提交时的值。
问题
所以问题是:我在 t:inputFileUpload 中包含什么样的 EL 以及在 ReportBean 中使用什么样的属性来在我的 addDocument 方法中提供单独的 uploadFile 实例?
jsf - PrimeFaces ui重复+无限滚动
我有一个 primefaces“网格面板”模板,我正在通过 java 类从数据库中填充它的列。而且我必须展示该面板的许多克隆,但肯定它们充满了不同的信息。为了显示所有这些,我正在使用“ui repeat”标签,它正在重复绘制这些面板,反正就是这样;
所以这似乎是绘制所有面板的成功实现,但我需要显示例如 5 个 em,然后再显示 5 个,我的意思是我需要像 facebook 或 twitter 那样无限滚动。
PrimeFaces 3.4 雄猫 7
ajax - 如何寻址循环命名容器内的组件
我有以下结构(省略内容和属性):
由于容器内的内容取决于内部列表按钮的操作,因此我需要对其进行更新。当没有 external 时,上面显示的方法有效ui:repeat
。但是,component not found
当有一个错误时,它会失败并出现错误。
这似乎是由于cc.clientId
then 本身包含外部的行索引ui:repeat
,例如outerlist:0:myCC:container
。正如对此答案的评论所示,此索引 ID 在视图树的服务器端表示中不可用。而是“行索引仅存在于客户端”。我必须承认我不太了解这个索引是如何完成的,以及服务器端有什么可用的。
所以我的问题是:JSF 如何做这个索引,它(在服务器上)如何在 a 中分离不同的“实例”,ui:repeat
并且有没有解决我想要用上面的代码实现的解决方案?
jsf-2 - 如何在 JSF 2.0 的 panelGrid 中填充数组列表?
从arraylist填充数据时,jsf panelgrid出现问题。我收到错误消息javax.el.PropertyNotFoundException: /facelet/crew/searchCrew.xhtml @14,95 value="#{searchCrewBean.searchCrewParam.staffNum}": Target Unreachable, 'searchCrewParam' returned null
请在下面找到我的代码,请帮助我..
JSF 代码如下:
我的支持豆在这里...
还有我这里的船员班...
公共类船员{
@Akselwillgert 我正在加载人员列表,如下所示 private ArrayList listOfCrew ;私有 ArrayList listOfSearchCrew ;
仍然面临同样的问题...
jsf - ui:repeat 与 c:forEach 中的复合组件使用 ajax 调用
我有一个复合组件,它表示将存储在列表中的项目。我想使用 显示这些项目<ui:repeat>
,但在进行 ajax 调用时遇到问题。问题是对于<f:ajax>
渲染属性,我想通过
但是,当我将它与 一起使用时,这会引发错误<ui:repeat>
,因为本文档https://rogerkeays.com/jsf-c-foreach-vs-ui-repeat中解释了原因。
有没有办法让上述组件工作<ui:repeat>
(例如,有没有可以替换<f:ajax>
标签处理程序的组件,或者我们坚持<c:forEach>
构建)?
所以我开始使用<c:forEach>
而不是<ui:repeat>
,并且我能够在 的渲染属性中使用我的组件的 id <f:ajax>
。但是这次当我进行分页时,如果列表的大小减小,我的页面中就会开始出现空组件。为了解决这个问题,我开始通过 ajax 调用进行分页,这解决了空组件问题。
只是我以为一切都解决了我遇到了另一个问题:假设我有一个列出 10 个组件的页面,然后我转到另一个页面,从那个页面我又来到了组件显示页面,但是由于某种原因,这次我说我从数据库中仅检索了 3 个项目,我只想通过我的组件显示这 3 个项目,但没有别的。不幸的是,在这种情况下,3 个项目正确显示,但页面也包含 7 个空组件。为了克服这一点,我需要再次重定向到此页面。所以我就在这一点上放弃了。除此之外,当页面上的组件数量发生变化时,我最终也得到了以下异常。
我尝试使用帖子Jsf Error : java.lang.ClassCastException中解释的建议,但它对我不起作用,我开始收到另一个类似于上述异常的错误。
因此,经过这些冗长的解释后,我只想了解创建支持 ajax 的复合组件的最佳方法是什么,他们完全负责自己的状态并独立于其他组件,并且可以在页面中显示更多不止一次,并且组件的数量在页面生命周期中可能会有所不同(通过分页、导航等)。