- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下p:tabView
:
<p:tabView id="tabView" dynamic="true" cache="false" activeIndex="#{navigationController.activeTabIndex}"
onTabChange="tabChangeCommand([{name:'index', value:index}])">
<p:tab title="#{adbBundle['nav.manageUser']}" id="manageUserTab">
<h:panelGroup layout="block">
<h:form id="manageUserListForm">
<ui:include src="/WEB-INF/includes/userList.xhtml">
<ui:param name="showOnlyActiveUsers" value="#{true}" />
</ui:include>
</h:form>
</h:panelGroup>
</p:tab>
<p:tab title="#{adbBundle['nav.manageRole']}" id="manageRoleTab">
<h:panelGroup layout="block">
<h:form id="manageRoleListForm">
<ui:include src="/WEB-INF/includes/userList.xhtml">
<ui:param name="manageRole" value="manageRole" />
<ui:param name="showOnlyActiveUsers" value="#{false}" />
</ui:include>
</h:form>
</h:panelGroup>
</p:tab>
</p:tabView>
这两个选项卡具有相同的包含内容,即 userList.xhtml
。在这个 userList.xhtml
中,我放置了一个 h:outputText
来查看 ui:param
showOnlyActiveUsers
的值测试目的:
<h:outputText id="showOnlyActiveUsers" value="#{showOnlyActiveUsers}" />
在选项卡更改时,此 h:outputText
的值从 true
更改为 false
,反之亦然。
View 范围内的托管 bean UserListController
是 userList.xhtml
的支柱。由于它位于 View 范围内,因此它会为所有这两个选项卡实例化一次。
我有一个类UserDataModel
,它扩展了Primefaces的LazyDataModel
。 UserListController 中存在此类的实例。我正在尝试从 h:inputHidden
的 getter 方法为 UserDataModel
的字段设置一个值:
<h:inputHidden value="#{userListController.showActiveOnly}" />
位于 UserListController
的 userList.xhtml
中,如下:
public String getShowActiveOnly() {
ValueExpression expression = getFacesContext().getApplication().getExpressionFactory().createValueExpression(getFaceletContext(), "#{showOnlyActiveUsers}", Boolean.class);
userDataModel.setShowOnlyActiveUsers(expression.getValue(getFaceletContext());
return "";
}
但是由expression.getValue(getFaceletContext()
)生成的值始终是false
。我想知道为什么h:outputText<中的值
从 true
变为 false
,但 ValueExpression
生成的值始终为 false
?
我该如何解决这个问题。任何指针都会对我非常有帮助。
protected final FaceletContext getFaceletContext() {
return (FaceletContext) getFacesContext().getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
}
我想要实现的是将 ui:param
值传递给托管 bean,然后从那里传递给数据模型。
userList.xhtml
:
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:pe="http://primefaces.org/ui/extensions">
<h:form id="userListForm">
<p:panel id="userListPanel" header="#{adbBundle['userList.panel.header']}" toggleable="true">
<p:dataTable var="user" id="userTable" value="#{userListController.userDataModel}" lazy="true" paginator="true" rows="10"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,50,100" widgetVar="userDataTable" styleClass="userTable" selectionMode="single">
<f:facet name="header">
<p:outputPanel>
<h:panelGroup layout="block" id="resetFiter" styleClass="dataTableResetFilter">
<p:outputLabel value="#{adbBundle['filter.resetText']}" />
<p:spacer width="10" />
<p:commandButton icon="ui-icon-circle-close" actionListener="#{userListController.resetUserTable}"/>
</h:panelGroup>
</p:outputPanel>
</f:facet>
<p:column id="nameColumn" headerText="#{adbBundle['name']}" sortBy="#{user.fullName}" filterBy="#{user.fullName}" styleClass="name">
<h:outputText value="#{user.fullName}" />
</p:column>
<p:column id="statusColumn" headerText="#{adbBundle['status']}" sortBy="#{user.active}" styleClass="center status" filterBy="#{user.statusText}"
filterMatchMode="exact" filterOptions="#{userListController.statusOptions}">
<h:outputText value="#{user.statusText}" />
</p:column>
<p:column id="manageRoleColumn" headerText="#{adbBundle['role']}" sortBy="#{user.role}" styleClass="center manageRole" filterBy="#{user.role}"
filterOptions="#{userListController.roleOptions}" rendered="#{manageRole != null and manageRole != ''}">
<h:panelGroup layout="block">
<p:selectOneRadio id="roleRadio" value="#{user.role}" styleClass="roleRadio">
<f:selectItem itemValue="user" itemLabel="User" />
<f:selectItem itemValue="manager" itemLabel="Manager" />
<p:ajax listener="#{userListController.changeRole}" />
<f:attribute name="user" value="#{user}" />
</p:selectOneRadio>
</h:panelGroup>
</p:column>
</p:dataTable>
</p:panel>
</h:form>
</ui:composition>
我想要的是从 userList.xhtml
获取 ui:param
的当前值,并通过某个事件将其传递给托管 bean,并将其设置为数据模型。同样,当托管 bean 在 View 范围内创建时,datamodel
仅实例化一次。
最佳答案
您可以使用类似的方法来显示活跃用户,
<h:form id="userListForm">
<p:panel id="userListPanel" header="#{adbBundle['userList.panel.header']}" toggleable="true">
<p:dataTable var="user" id="userTable" value="#{userListController.userDataModel}" lazy="true" paginator="true" rows="10"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,50,100" widgetVar="userDataTable" styleClass="userTable" selectionMode="single">
<f:facet name="header">
<p:outputPanel>
<h:panelGroup layout="block" id="resetFiter" styleClass="dataTableResetFilter">
<p:outputLabel value="#{adbBundle['filter.resetText']}" />
<p:spacer width="10" />
<p:commandButton icon="ui-icon-circle-close" actionListener="#{userListController.resetUserTable}"/>
</h:panelGroup>
</p:outputPanel>
</f:facet>
<ui:fragment rendered="#{showOnlyActiveUsers and user.active}">
<p:column id="nameColumn" headerText="#{adbBundle['name']}" sortBy="#{user.fullName}" filterBy="#{user.fullName}" styleClass="name">
<h:outputText value="#{user.fullName}" />
</p:column>
<p:column id="statusColumn" headerText="#{adbBundle['status']}" sortBy="#{user.active}" styleClass="center status" filterBy="#{user.statusText}"
filterMatchMode="exact" filterOptions="#{userListController.statusOptions}">
<h:outputText value="#{user.statusText}" />
</p:column>
<p:column id="manageRoleColumn" headerText="#{adbBundle['role']}" sortBy="#{user.role}" styleClass="center manageRole" filterBy="#{user.role}"
filterOptions="#{userListController.roleOptions}" rendered="#{manageRole != null and manageRole != ''}">
<h:panelGroup layout="block">
<p:selectOneRadio id="roleRadio" value="#{user.role}" styleClass="roleRadio">
<f:selectItem itemValue="user" itemLabel="User" />
<f:selectItem itemValue="manager" itemLabel="Manager" />
<p:ajax listener="#{userListController.changeRole}" />
<f:attribute name="user" value="#{user}" />
</p:selectOneRadio>
</h:panelGroup>
</p:column>
</ui:fragment>
</p:dataTable>
</p:panel>
</h:form>
您也可以使用这种格式的 boolean 表达式
<ui:param name="showOnlyActiveUsers" value="false" />
其他解决方案可能是将用户列表传递到您的 ui include 。保留两个方法“userListController.userList”和“userListController.activeUserList”并将其作为 ui:param 传递到您的 usersList.xhtml
关于java - 获取用户界面 :param value in Managed bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15175201/
我正在阅读 Youtube 上的 Kubernetes 教程,发现以下 UI 演示了 Kubernetes 集群的 pod 和服务安排。如何在我的 Kubernetes 设置中安装此 UI? 最佳答案
这只是一个快速的(我希望)。 我最近访问了 jquery ui 对话框页面,查看在对话框中使用表单 http://jqueryui.com/dialog/#modal-form我注意到一些我以前没有见
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我想用 Java 为一个程序创建一个用户界面,让用户能够构建一棵节点树,每个节点执行一项特定的任务。该程序的界面与 Softimage Ice 非常相似,您可以通过单击 http://vimeo.co
下面是我在 SwiftUI 中创建 View 的代码。我要定位我的 欢迎按钮 到屏幕底部,如下所示。 struct welcomeViewControllerView: View { va
我目前有一个文本编辑器,我希望能够像这样在笔记应用程序中添加文本格式: 我试过 UITextView.allowsEditingTextAttributes = true但它似乎没有用。 任何想法将不
我不知道如何使用HDFS连接我的网站(我什至不确定是否有可能)。 我的网站基于PHP。我想存储有人点击我的网站的区域,如何将我的PHP与HDFS连接起来? 是否涉及任何插件?如果我希望这些信息被实时存
我正在寻找用 javascript 编程的新方法。我的目标是创建像 GMail 这样的 javascript 应用程序。我试过 GWT,但它接缝太复杂,而且代码也不时尚。 我发现 MVC 模式是一种很
我有多个渐变作为我的应用程序的主题。当渐变(存储在变量中)是特定的时,我想要一个 bool 值变为真。但是,我不断收到错误消息: "Binary operator '==' cannot be app
我有一个有很多类别的测验应用程序: 类别 1 列出第 1 项 列出第 2 项 类别 3 第 4 类 第 5 类 列出第 1 项 列出第 2 项 列出第 3 项 所以类别要么是指一般的不可选择的类别,即
如果我单击仅搜索“2018”的搜索按钮,但如果我在搜索“2018 歌曲”的电脑上按回车按钮,我想搜索“2018”,如果我在电脑上按回车按钮,我怎么能使用 Autocomplete | jQuery U
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我正在尝试为患有轻度认知障碍的祖母创建一个安卓平板电脑应用程序。该应用程序的功能之一是智能调度程序/提醒。例如:该应用程序会说“您服用红色药丸了吗?”是或否。如果没有或没有回复,则会向我的手机发送一条
有没有办法确保我的 Android UI 在不同手机上按预期显示? 最佳答案 遍历 developers guide on supporting multiple screens .它为您提供有关该主
我正在为 iPad 和 iPhone 创建一个通用应用程序。我有一个 UITextField,我希望用户在其中输入歌曲的名称或在他们的 iTunes 库中找到的任何声音媒体文件。我的问题不是关于查询图
这个问题在这里已经有了答案: Making a Chess Game with jQuery UI. I have used Draggable, but i need to make them n
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我想从选择器中获取所选项目以更新 Firebase 数据库中的一些数据,但是当我使用 onTapGesture 时不起作用 注意:选择器中的项目是字符串 我的代码: Picke
我需要我的应用程序在启动时配置后端,这是执行此操作的函数: // Initializes Amplify final func configureAmplify() async { do {
我有这个 Web 应用程序,其中一个模块使用了过多的 ui:include。 前任。 页面 1.0 包括 --> page1.1 包括页面 2.0 包括 --> 页面 2.1 页面 1.0 包括 --
我是一名优秀的程序员,十分优秀!