gpt4 book ai didi

java - 如何从支持 bean 获取 JSF 2.0 组件生成的 HTML 的 DOM?

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:47 25 4
gpt4 key购买 nike

我有一个 JSF 页面,仅包含一个 PrimeFaces Calendar 组件,由 View 作用域 bean 支持。

<p:calendar value="#{calendarBean.today}" mode="inline" showOtherMonths="true" pages="1" binding="#{calendarBean.model}" />

为此组件生成的 HTML 包含一个我想要调整的表格。更具体地说,我想通过在目标日期的 td 标签下添加一些 HTML 代码,将图标动态地放入此日历中。

从 CalendarBean 中,我可以从某些服务中获取代表“带有图标”的日期的对象列表。我需要这个列表来决定表中要更改的日期。我尝试在我的支持 bean 中获取 HTML DOM,但我不明白如何做。 UIComponent 树(我通过绑定(bind)属性获得)仅包含 JSF 组件,而不包含生成的 HTML。我开始怀疑这是否是解决问题的方法。

我的谷歌技能似乎不够。有人可以帮助我吗?

最佳答案

具体的功能需求并不完全清楚,因此很难为此提出正确的方法,但通常有多种方法可以改变 JSF/PrimeFaces 生成的 HTML 的外观。

  1. 使用自定义 CSS。图标可以简单地设置为 CSS 背景图像。

  2. 使用自定义 JS。 JS 可以即时访问整个 HTML DOM 树。

  3. 使用自定义 JSF 渲染器。扩展 PrimeFaces CalendarRenderer 类并相应地重写 encodeXxx() 方法。

支持 bean 应该是 View (XHTML 文件)和模型(保存要呈现给最终用户的数据或捕获从最终用户提交的数据的 javabean 实体类)之间的 Controller 。它不应该操纵 HTML。

关于java - 如何从支持 bean 获取 JSF 2.0 组件生成的 HTML 的 DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com