问题标签 [conditional-rendering]

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 投票
1 回答
398 浏览

jsf - “未找到记录”不考虑有条件呈现的 p:dataTable 列

我目前在使用 PrimeFaces 4.0 的 dataTable 中的列的呈现属性存在一个小问题。我的表中有一个不应该总是显示的列,所以我使用了它的渲染属性并从我的支持 bean 中获取值。这是第 6 列也是最后一列。数据表位于 ap:dialog 中,将在方法结束时显示。

渲染属性似乎可以正常工作,因为当 showColumn 为 false 时,该列将不会显示,反之亦然,但存在问题。如图所示,“未找到记录”。消息似乎直到最后一列才能到达。当我尝试删除呈现的属性或手动将其设置为 true(不使用支持 bean 值)时,“未找到记录”。消息将按预期到达最后一列。

包含这些元素的整个对话框/表单似乎在 ajax 请求之后正确更新。

支持 Bean 方法:

xhtml中的列部分:

如表所示: 如页面所示

0 投票
2 回答
482 浏览

ajax - 在 Panel 中使用渲染时未调用 Primefaces Ajax 侦听器

下面是正在使用的代码片段。当我从下面的代码中删除渲染属性时,监听器被调用。但是使用渲染,它不会调用侦听器。我的 PrimaryContactHomeAddressBean bean 位于 RequestScope 中,而 AddressManagedBean 具有 ViewScope。

0 投票
2 回答
613 浏览

jsf - 根据面孔消息的存在有条件地呈现

我的表中有一个特殊的行用于错误:

如何设置此行,以便仅在出现错误时显示该行?

0 投票
0 回答
386 浏览

jsf - 为什么 ui:fragment 在自定义标签文件中不起作用?

我为我的 JSF 2.2 应用程序创建了以下自定义标签:

以下是自定义标签文件的关键部分:

由于 PrimeFaces p:password 的问题,我无法设置 match="" 所以我需要测试 password_match 并且只有在 password_match 不为空时才包含 match。首先,我尝试使用 ui:fragment ,如下所示:

结果是当我设置 password_match = "" 时 p:password 根本没有呈现。换句话说,两个测试都没有返回 true。我唯一的理论是 ui:fragment 在自定义标记文件中不起作用。

然后我将我的代码更改为以下代码,它按预期工作。

0 投票
1 回答
6345 浏览

jsf - 如何在页面加载之前隐藏可切换的 p:panel?

我有一个包含 2 个组件、一个按钮和面板的 JSF 页面。该按钮调用 jQuerytoggle来隐藏和显示面板。我希望当页面加载时,面板最初是隐藏的,这样当我第一次按下按钮时,面板就会显示出来。

使用此代码,面板始终最初是可见的。

0 投票
1 回答
160 浏览

security - JSF 是否阻止被篡改的请求调用未呈现的托管 bean 操作

托管 bean 中的方法受 JSF 保护?见代码:

托管豆

XHTML

如果按钮未呈现(rendered="false"),可以完成 HTTP POST 请求(就像按钮一样)并调用 test() 方法?

换句话说,JSF 阻止了被篡改的请求对托管 bean 方法的调用?

0 投票
1 回答
1391 浏览

jsf - 为什么是未评估

我有一个 JSF 2 主模板,如下所示:

在 Wildfly 9.0.1 Final 中部署它时,我看到我的所有<ui:fragment>属性都被渲染了。这是为什么?我正在使用 JSF 2.2 框架进行开发。

我的面孔项目阶段是Development.

注意:在关于这个问题的所有答案中,没有一个是这个问题的解决方案(所以我做了功课)。

0 投票
4 回答
3259 浏览

validation - 仅在验证成功时渲染组件

在 JSF 2.X 中,我可以仅在验证成功时渲染组件吗?

在我的申请中,我有许多必须填写的字段。这些数据可以通过搜索键从 WebService 导入。

当用户输入有效的搜索键时,系统会搜索其他字段并使用新值呈现它们。但是当用户输入一个不存在的键(或任何其他验证错误)时,服务器会生成一个验证错误,但仍会呈现字段,从而丢失任何已填充的数据。

我需要的是用户可以执行查询,并且如果查询没有返回结果,这不会影响他已经输入的任何数据。

下面是一个代码示例。因此,如果用户填写了updateThisOnSuccess中的字段,并且在尝试查询但未成功后,填写的值不会丢失。

提交字段值以运行搜索似乎也不是一个选项,因为这将导致需要验证updateThisOnSuccess中的字段。


注意:我看到@BalusC 对类似问题的回答,但这与我想知道的不同,在这种情况下,总是呈现foo-holder并且foo是调节的。这不是我的情况,因为这种方法会使控件在验证失败时不出现。

0 投票
1 回答
1910 浏览

jsf - 有条件地渲染取决于 p:selectOneMenu 值

我正在尝试从现有的 Primefaces 组件构建一个自定义组件,我需要一些帮助。我有一个 selectOneMenu,我希望它根据在菜单中选择的选项来呈现或不呈现(并禁用或启用)其他组件。这里的困难是我不能使用托管 Bean 来做到这一点(我有几个原因),我需要一个纯 xhtml 代码。

我尝试了一些<c:choose>东西<ui:parameter>来创建布尔值,但由于某种原因,我看不到它不起作用。你们可以看看我的代码,看看你有什么想法吗?这可能是一些我无法理解的简单事情或我还不知道的事情。

0 投票
1 回答
3179 浏览

jsf - 动态 TabView primefaces,选项卡渲染属性不起作用

我有一个来自 Primefaces 的 tabView 选项卡组件的“问题”。我做了一个带有基于数组的动态选项卡的 tabView。

但是某些选项卡无法根据该数组中对象的布尔属性呈现。

我尝试了渲染=“真”或“假”,但没有任何反应(在选项卡上)。我使用 render="#{_item.show}" 我尝试使用禁用功能并且工作正常,但这不是我的需要。

有人知道如何解决这个问题吗?

检查我的代码: