JSF 在“ui:include src="#{bean.pagePath}”中动态包含 src

2024-03-23

我尝试在不同的选项卡中使用 ui:include 标签包含多个源页面路径。问题是,当我将源页面路径指定为静态时,意味着将显示该页面,但如果从支持 bean 指定源页面路径,则意味着它将不包含该页面。

这是我的代码

template.xhtml:

    <p:layoutUnit position="center" id="layoutCenter">
                <h:form id="tempFormId">
                    <p:tabView value="#{multiTabBean.tabsList}" var="useCase"
                        activeIndex="#{multiTabBean.activeTabIndex}">
                        <p:tab title="#{useCase.title}" closable="true">
                            <f:subview>
                                <h:panelGroup id="mainTempPanelGroupId" layout="block">
                                    <ui:include src="#{useCase.path}" />
                                </h:panelGroup>

                            </f:subview>
                        </p:tab>
                    </p:tabView>
                </h:form>
            </p:layoutUnit>

bean:

public String menuAction() {                    
    menuBtnRendered = true;
    FacesContext facesContext = FacesContext.getCurrentInstance();
    ExternalContext externalContext = facesContext.getExternalContext();
    selectedModuleViewId = externalContext.getRequestParameterMap().get(
            "moduleViewId");

    tabsList.add(new Tab(getTabId(selectedModuleViewId),
                selectedModuleViewId, getModulePath(selectedModuleViewId)));        

    return null;
}

我在用着@ViewScoped.


<ui:include>在视图构建时运行(当 XHTML 转换为 JSF 组件树时)。<p:tabView>在视图渲染期间运行(当 JSF 组件树需要生成 HTML 时)。

So, <p:tabView var>不可用时<ui:include>运行。这个问题在这个答案中有详细说明:JSF2 Facelets 中的 JSTL...有意义吗? https://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense (<ui:include>是一个标记处理程序,因此具有与 JSTL 标记相同的生命周期)。

您可以使用以下方法在一定程度上解决这个问题<c:forEach>生产<p:tab>s 而不是<p:tabView value>.

<p:tabView activeIndex="#{multiTabBean.activeTabIndex}">
    <c:forEach items="#{multiTabBean.tabsList}" var="useCase" varStatus="loop">
        <p:tab title="#{useCase.title}" closable="true">
            <f:subview id="tab_#{loop.index}">
                <h:panelGroup id="mainTempPanelGroupId" layout="block">
                    <ui:include src="#{useCase.path}" />
                </h:panelGroup>
            </f:subview>
        </p:tab>
    </c:forEach>
</p:tabView>

顺便说一下,很有趣的是看到你以某种方式使用<f:subview>在你最初的尝试中,这是完全无用的(已经考虑到<p:tabView var>),但它在这里实际上很有帮助(它创建了一个新的NamingContainer围绕选项卡内容)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSF 在“ui:include src="#{bean.pagePath}”中动态包含 src 的相关文章

  • 丰富:数据表行跨度问题

    我需要创建一个 rich dataTable 甚至扩展 具有以下功能 我有一个公司类 其中包含产品对象的集合 我想展示下表 我仍然没有弄清楚如何使用子表执行此操作 在所有示例中 我发现子表具有与主表完全相同的列 据推测 我需要在前两列中使用
  • 如何在 JSF 中禁用页面/表单

    对于我的应用程序 我希望拥有具有不同权限的用户 一种权限允许用户查看我的数据库中的数据 而另一种权限允许他们编辑数据 登录时 我会检查他们的权限以确定他们是否可以编辑数据 如果用户具有只读权限 我正在寻找某种方法来禁用整个页面 有没有一种简
  • 设置开始日期后设置 primefaces 日历结束日期

    我正在使用 primefaces 日历来创建事件 使用 mindate 参数 我禁用了当天之前的日子 即使有结束日期 我也想这样做 禁用开始日期之前的日子 我不知道如何处理这个问题 因为支持 bean 仅在验证整个表单后才获取开始日期 我需
  • 会话销毁后如何使 viewscoped beans/viewmap 生存(使用客户端保存)?

    我在用着Myfaces 2 2 具有客户端状态保存功能 我看到 ViewScoped beans 和存储在 viewmap 中的数据在用户会话销毁后丢失 我开始知道 不确定这是否正确 这是预期的行为 但是在会话销毁后避免查看过期异常的方法是
  • jsf文件下载不起作用

    当我点击h commandButton它执行myBean dowanlod 方法 但它不下载任何文件 这是我在支持 bean 中的方法 没有例外 光标变得忙碌 似乎在等待响应 对于这种操作是否有任何额外的配置或者这段代码有什么问题吗
  • 从 JavaScript 将参数传递给 p:remoteCommand

    我想将值传递给remoteCommand来自 JavaScript 如果这是可能的 我该如何做到这一点以及如何在支持 bean 中接收它们 对的 这是可能的 如何执行此操作取决于 PrimeFaces 版本 你可以在PrimeFaces 用
  • 我想为 TabBar 设置背景

    I don t know how to change the background of the TabBar by an Image I try to change the background of TabBar not try to
  • ExternalContext#dispatch() 不起作用

    我有服务器端倒计时计数器 当它 0时 方法应该执行ExternalContext dispatch 但它没有做到 方法ExternalContext redirect 在这个地方工作正常 else try FacesContext getC
  • 如何让JSF渲染符合XHTML 1.0严格?

    我需要开发一个必须符合 斯坦卡法案 Legge Stanca 的网络应用程序 到目前为止 我已经使用了 jsf2 0 Mojarra primefaces 3 2 但在使用时遇到了验证问题 特别是对于空表单页面 生成以下 html 代码
  • JSF2.0 中的空白输入字段未设置为 NULL

    我有一个支持 bean 其中 fileld 为 Long Double Integer String 当我没有在输入字段中指定任何内容时 长整型 整数和双精度值将被视为零 而不是空 我正在使用 tomcat 来部署我的应用程序 有什么解决办
  • 如何保留primefaces数据表的排序顺序?

    在我的项目中 我使用 ViewScoped bean 并且有两个页面 一个是主页 另一个是详细信息页面 在主页中 我有一个具有排序和过滤功能的 primefaces 数据表 数据表的每一行都有一个链接 如果我对列进行排序 那么它就可以正常工
  • 应返回带有 html 代码的字符串的支持 bean 属性返回空字符串

    我的支持 bean 中有一个返回 html 代码的属性 public String getHtmlPrevisualizar return Hello world 我想要做的是在 iframe 中显示这个 html 代码 我用 JavaSc
  • 使用 Javascript 将消息添加到 p:growl

    我想使用 Javascript 在客户端显示咆哮声 我的意思是这个 UI 组件 我找到了这个thread https stackoverflow com questions 5730054 how to display notificati
  • JSF中直接更改URL来限制用户访问页面

    我的应用程序中有两种用户 客户和卖家 我正在使用一个PhaseListener在JSF中防止用户在未登录的情况下访问页面 但在登录后我不知道如何防止用户更改地址栏中的URL并访问他也不允许的页面 例如 阻止客户访问卖家页面 有谁知道我如何防
  • f:ajax 不工作

    我很难得到f ajax从事某项工作h panelGroup 这就是我正在做的 JSF 代码
  • JSF 的最佳实践是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从支持 bean 更新 PrimeFaces 数据表

    我在 bean 中使用 Schedule Timer 当员工注册从指纹设备获取数据时 它会更新变量 当 bean 中的变量更新时 我需要从支持 bean 更新 jsf 中的组件 我尝试使用 primefaces poll 组件 但它每次都会
  • FontAwesome 与 PrimeFaces

    我一直渴望在 Primefaces 中包含 FontAwesome 图标 最后 Optimus 昨天发布了这个伟大的新图标 gt http blog primefaces org p 3004 comment 5422 http blog
  • JSF 2 和发布/重定向/获取?

    如果我错了 请纠正我 但我认为我所有的非 AJAX 提交都应该使用 Post Redirect Get PRG 方式 因为 GET 应该用于刷新 查询数据 就我而言 我能想到的应用程序页面实际上只对数据进行更新 然后刷新页面 所以我认为 P
  • JSF 2.0:无需编写代码即可验证 2 个 InputSecret 字段的相等性(确认密码)?

    我正在使用 JSF 2 0 和 Glassfish 开发一个纯 JavaEE6 应用程序 我的 JSF 实现是 Primefaces 除了 Glassfish 提供的 Mojarra 我想验证 JSF 表单中 2 个密码字段的值是否相等 有

随机推荐

  • JMeter - 使用其他 BeanShell 预处理器/后处理器中的变量?

    有没有一种方法可以将变量从一个 BeanShell 预处理器 后处理器引用到另一个 BeanShell 处理器 它们在同一个线程组内 如果我在 HTTP 请求下的 BeanShell 预处理器内创建一个字符串变量 那么我可以在同一 HTTP
  • 使用 C#/Linq 将扁平化分层数据从 SQL Server 转换为结构化 JSON 对象

    我正在开发一个 MVC 应用程序 它从 SQL Server 中的表中检索数据 其结构如下 Id Name Hierarchy Depth 01 Justin 0 02 Chris 1 1 03 Beth 1 1 2 中的示例数据Hiera
  • ggplot 堆叠条形图每个月的前 5 名

    我有一个很好的 我已经思考这个问题很长时间了 我有这个数据集 这个数据集可能很大 我想根据每月前 5 个最高计数绘制 ggplot 堆栈条形图 例如 对于 1 1 2012 最高计数将为 I G F D 和 E df Date Desc c
  • 使用 ggplot 绘制具有多个预测变量的模型的一个预测变量

    这是线性模型和 ggplot 的典型示例 require ggplot2 utils data anorexia package MASS anorex 1 lt glm Postwt Prewt Treat offset Prewt fa
  • C++ 的属性和反射库?

    大多数成熟的 C 项目似乎都有自己的反射和属性系统 即用于定义可以通过字符串访问并自动序列化的属性 至少我参与的很多C 项目似乎都是这样的重新发明轮子 你知道任何好的开源库对于支持反射和属性容器的 C 具体来说 通过宏定义 RTTI 和属性
  • 包中涉及std::transform的Rcpp代码的兼容性

    我正在完成我一直在做的一个包 所有检查看起来都很好 并且在我的计算机上编译没有问题 win builder包裹也没有问题 作为进一步检查 我尝试在同事的计算机上从源代码安装 但失败了 问题来自于我从中获取的 Rcpp 函数Rcpp 中关于向
  • 内容解析器的使用

    我是 android 领域的新手 正处于学习阶段 我有几个疑问 每个应用程序是否有单个 ContentResolver 对象 它是一个单例对象吗 谁管理这个对象的生命周期 如果是单例 它如何处理查询ContentProvider的多个请求
  • C11编译器一致性比较

    是否有任何网站可以比较实现 编译器之间当前的 C11 标准一致性 支持 gcc clang 英特尔 open64 pelles 据我所知 没有通用网站 现在是开始建立一个网站的好时机 然而 大多数项目都有自己的列表 http clang l
  • 子项目中的 Cocoapods

    我有一个带有子项目的项目 子项目和主项目都必须使用Cocoapods来集成一个库 如果没有Cocoapods 似乎无法集成 所以我为主项目及其子项目设置了 Cocoapods 子项目在其生成的工作区中构建 但编译主项目会产生以下错误 ld
  • 如何使标签文本左右对齐以具有相同的对齐方式?

    我使用 html 和 CSS 处理模板 我面临的问题是我无法使左右对齐标签文本相同 作为例子 提交日期和员工 ID 不是从左侧的同一点开始 因此我需要左侧的所有文本都具有相同的对齐方式 同样在右侧 文本也不是从与 和 相同的点开始 所以我需
  • 具有自定义比较器的 Java PriorityQueue

    我正在使用 PriorityQueue 和我自己的比较器 但不知何故 最终结果并不总是好的 我应该按平均成绩 姓名 身份证号码排序 最后它应该返回有序队列中剩余的名称 其余的名称都可以 但顺序不同 输入 姓名 平均成绩 id no add
  • 如何打印密码组合(但每个索引都有自定义约束)

    我正在尝试构建一个动态密码恢复工具 您可以指定密码以及与未知密码索引对应的未知字符列表 因此 如果您记住了 90 的密码 并且记不住几个字母 这将为您提供轻量级的暴力破解 我能够将用户提供的密码与未知字符列表结合起来 但是 我一直试图打印每
  • 禁用 mp3 自动播放

    我尝试禁用自动播放但没有成功 这是我的代码 失败的尝试 去除autoplay完全地 改变autoplay to autostart and AutoStart setting autoplay autostart AutoStart to
  • Reactable R - 将每页最大行数从 10 更改为 5

    我想将每页可反应的行数限制为 10 到 5 这是一个可重现的示例 set seed 250 df lt tibble x sample x 1 20 reactable df 现在 当您运行此代码时 会出现两页 每页 10 行 我想要四页
  • 正则表达式将 npm 库排除在缩小范围之外

    我必须为 websockets 使用非开源发布 订阅库 扩散 https www npmjs com package diffusion v 5 9 2 并且必须坚持使用特定版本 因为它是在服务器端使用的 我无法控制它 问题在于 在其代码库
  • 无法在 asp.net 中的 webmethod 中获取会话

    我只是发现问题与webmethod无关 这是由另一个问题引起的 我设置了Session PhotoId 在正常的 aspx 中 但我无法检索其中的值webMethodaspx 页面的 WebMethod EnableSession true
  • Windows C# 实现linux dd 命令

    我正在编写一个在 Windows 上运行的 C Net 应用程序 它需要拍摄可移动磁盘的映像并将其放入 Linux Live USB 上 Live USB 被插入目标机器并启动 启动时它会运行一个脚本 该脚本使用 dd 命令 如下所示将其闪
  • 如何从Python数据框中的列列表中删除重复项?

    我有一个数据框 id rev names 34e A su ra ve ra de ra 45e R ra su su ve de 55e G su ra de 41e M su de mu er su 现在我需要删除重复项 输出应如下所示
  • 更改 intellij 窗格的背景颜色

    我更改了 intellij 中的配色方案 以便 Java 编辑器窗格的背景为深色 文本为浅色 我不确定这是否直接相关 但是 在其他窗口 例如 运行 窗口 中 背景保持白色 但任何系统消息都显示为白色文本 这显然是一个问题 因为我无法阅读白色
  • JSF 在“ui:include src="#{bean.pagePath}”中动态包含 src

    我尝试在不同的选项卡中使用 ui include 标签包含多个源页面路径 问题是 当我将源页面路径指定为静态时 意味着将显示该页面 但如果从支持 bean 指定源页面路径 则意味着它将不包含该页面 这是我的代码 template xhtml