有没有办法从 UIComponent 对象获取生成的 HTML 作为字符串?

2023-11-27

我有一个UI组件目的。我想获取该组件在运行时生成的 HTML 代码,以便我可以对其进行分析。

有办法实现这一点吗?

我正在尝试使用 JsfUnit 创建自动化测试。我可以从测试方法中获取 UICompoment 对象。但是,我找不到检查该组件生成的 Html 的方法。


只需执行 JSF 在幕后所做的相同操作:调用UIComponent#encodeAll()。要捕获输出,请将响应编写器设置为本地缓冲区:FacesContext#setResponseWriter().

例如。 (假设您处于调用应用程序阶段;处于渲染响应阶段时,需要以不同的方式完成此操作):

FacesContext context = FacesContext.getCurrentInstance();
ResponseWriter originalWriter = context.getResponseWriter();
StringWriter writer = new StringWriter();

try {
    context.setResponseWriter(context.getRenderKit().createResponseWriter(writer, "text/html", "UTF-8"));
    component.encodeAll(context);
} finally {
    if (originalWriter != null) {
        context.setResponseWriter(originalWriter);
    }
}

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

有没有办法从 UIComponent 对象获取生成的 HTML 作为字符串? 的相关文章

随机推荐

  • (半)自动生成函数的 argparsers

    tldnr 给定一个函数 有没有办法根据其签名自动创建 ArgumentParser 我有很多想要向命令行公开的函数 基本上 一个模块 def copy foo bar baz def move from to def unlink par
  • 我应该将日期时间作为长整型(刻度)存储在数据库中吗?

    通过将 DateTime 值保存为long反而 使用 null DateTime 值时似乎总是会出现问题 无论是存储还是检索 null DateTimes 无效 DateTimes 等总是令人痛苦 是否建议简单地与long数据类型 因为您始
  • Jax 向量化:vmap 和/或 numpy.vectorize?

    之间有什么区别jax numpy vectorizeand jax vmap 这是一个小片段集 import jax import jax numpy as jnp def f x return jnp exp x jnp sin x gf
  • 如何转换 CSS 显示 + 不透明度属性

    我的 CSS3 动画有问题 child opacity 0 display none webkit transition opacity 0 5s ease in out moz transition opacity 0 5s ease i
  • 如何绕过警告“右值用作左值”?

    我在用着本教程 但是当我从中编译代码时 D3DXMatrixLookAtLH matView D3DXVECTOR3 0 0f 10 0f 0 0f warning C4238 D3DXVECTOR3 0 0f 0 0f 0 0f warn
  • 如何将WPF页面添加到tabcontrol?

    I have this main wpf window 和这个 WPF 页面 我需要将此页面添加到主窗口中的选项卡控件 这是我的 OnRender 方法 protected override void OnRender DrawingCon
  • Laravel Eloquent 与 DB Facade:何时使用哪个? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我在之间做了一些性能测试Laravel DB 门面查询生成器 and Laravel 的 Eloquent ORM 对于许多 SQL 语句 SELECT UPDATE DELET
  • 如何减小产品包大小?

    我有一个简单的应用程序 初始化为angular cli 它显示了与 3 个路由相关的一些页面 我有 3 个组件 在此页面之一上我使用lodash和 Angular 2 HTTP 模块来获取一些数据 使用 RxJSObservables ma
  • 对当前使用的成员进行联盟测试

    工会是否有控制结构来测试当前正在使用哪个成员 或者是否有 我问这个问题是因为程序中存在未定义的行为从来都不是一件好事 不 现成的机制不存在 你必须自己处理这个问题 通常的方法是包装union in a struct struct MyUni
  • 如何在反应中使超链接外部?

    我是新来反应并在组件中有此链接 a href https example com faq html FAQ a 我要服务器faq html外界反应 问题是 React 将链接视为内部链接并给出 404 我见过一个相似的建议使用的问题
  • iframe 内的图像样式

    我通过设置 iframe 的 src 属性在 iframe 中有一个图像 iframe 具有固定的高度和宽度 我希望该图像的宽度填充 iframe 但其高度将与宽度保持成比例 以便用户能够向下滚动 iframe 以查看图像的其余部分 我该怎
  • matplotlib 轴上的不同精度

    我的老师说 在图表中我必须将轴标记为0 0 25 0 5 not 0 00 0 25 0 50 我知道如何标记它0 00 0 25 0 50 plt yticks np arange 1 5 1 5 25 但是 我不知道如何以不同的精度绘制
  • Delphi 中检测磁盘活动

    我正在使用Delphi 2007 我正在将文件复制到远程驱动器 复印结束后 我关闭 待机机器 可能会发生某些文件没有从缓冲区复制到磁盘的情况 并且远程磁盘断开连接 因此备份未完成 我需要检测该磁盘上的磁盘活动 以便能够正确地在计算机上执行关
  • Zend Framework 中的数据库事务:它们是隔离的吗?

    使用 Zend Framework 我需要 1 从 MySQL 数据库读取一条记录 以及 2 立即写回该记录以表明它已被读取 我不希望其他进程或查询能够在步骤 1 和 2 之间读取或写入同一记录 我正在考虑使用事务来完成这些步骤 如果我使用
  • 在 ejabberd 上使用 Smack 创建新用户会抛出 XMPP 异常:禁止(403)

    您好 我正在研究 ejabberd 我对这项技术还很陌生 我正在尝试使用以下代码在我的 ejabberd 服务器上添加用户 try conf setSASLAuthenticationEnabled true connection conn
  • ios - 动态编辑 3d touch 快捷方式列表

    我想在我的游戏中添加 继续 快捷方式 但是 当用户完全完成我的游戏时 我希望将其删除或替换为另一个快捷方式 这可能吗 我知道 3d touch 是由 ios 系统处理的 但也许还有一些选择 创建快捷方式有两种方法 动态和静态 静态被添加到
  • 如何在Asp.Net Core中注册同一接口的多个实现?

    我有从同一接口派生的服务 public interface IService public class ServiceA IService public class ServiceB IService public class Servic
  • 使用新的 IIS Express Web 服务器在 Visual Studio 2010 中进行开发?

    尽管这个问题并不直接与代码有关 但它与编程有关 并且似乎比服务器故障或超级用户等问题放在此处更好 我是一名 Visual Studio 2010 开发人员 Microsoft 为开发人员提供的最新 Web 服务器产品是 IIS Expres
  • SQL 按月分组日期

    我有一个返回到期日期的查询 SELECT ci accountnumber ci accountname cvu ExpirationDate FROM dbo clientinfo ci INNER JOIN clientvehicleu
  • 有没有办法从 UIComponent 对象获取生成的 HTML 作为字符串?

    我有一个UI组件目的 我想获取该组件在运行时生成的 HTML 代码 以便我可以对其进行分析 有办法实现这一点吗 我正在尝试使用 JsfUnit 创建自动化测试 我可以从测试方法中获取 UICompoment 对象 但是 我找不到检查该组件生