JavaServer Faces(JSF)是一种模型 - 视图 - 展示器框架,通常用于创建基于HTML表单的Web应用程序。使用标准组件和渲染工具包,可以使用Facelets或JSP标记定义有状态HTML视图,并通过支持bean连接到模型数据和应用程序逻辑。
扩展 p:fileUpload 抛出 jakarta.el.PropertyNotFoundException: 该类没有属性“upload”
当我尝试扩展 primefaces fileupload 时,侦听器属性值在 getListener() 中被解析为 ValueExpression,并引发 PropertyNotFoundException。 我的环境: 雅加达发...
JSF java.lang.IllegalArgumentException:无法将 5 类型的 class java.lang.Integer 转换为 class
我收到转换器的新错误 javax.faces.component.UpdateModelException:java.lang.IllegalArgumentException:无法将 5 类型类 java.lang.Integer 转换为类 com.jpa.entity.Groups 在
我已经在 IntelliJ Idea Ultimate (Maven) 中为 Java Enterprises 的大学项目设置了 Jakarta EE 项目,并且还可以在浏览器中输出 index.xhtml(通过 Tomcat 8.5.87)。我是另一个...
当我点击问号时,按钮父级有点击效果(这里是蓝色) 是否可以禁用它? 当我点击问号时,按钮父级有点击效果(这里是蓝色) 可以禁用它吗? <h:commandLink styleClass="btn btn-primary btn-lg" style="width: 100%;"> <span class="fa fa-trash"/> <span id="spanQuestion" class="fa fa-question" data-content="Help" data-html="true" data-popover="true"/> </h:commandLink> const span = $('#spanQuestion'); span.on("click", function(e) { e.stopPropagation(); }); 我试图停止对父项的点击,添加背景颜色。 我希望父按钮不会有点击效果。 ` 常量按钮 = $('#myButton'); const span = $('#spanQuestion'); span.on("click", function (e) { e.stopPropagation(); }); button.on("click", function (e) { // Your button click logic here }); `
我正在尝试在 youtube 教程视频的帮助下制作我的第一个 JSF 应用程序。 (eclipse/JSF2.0 动态 Web 项目)。在创建的第一个类中,我必须添加以下行 @ManagedBean(名称=“
如何在 JSF 中使用 Font Awesome 等 3rd 方 CSS 库?浏览器找不到 CSS 文件中引用的字体文件
我正在尝试将 Font Awesome 集成到 JSF 中。 但浏览器找不到字体文件。它们显示为空方块...
p:当指定其 slotLabelFormat 属性时,调度不渲染
根据 PrimeFaces 13 文档,p:schedule 组件的 slotLabelFormat 属性是一个字符串,用于确定要在时间段内显示的文本,我理解它...
primefaces p:schedule 组件在指定 slotLabelFormat 属性时不渲染
根据 PrimeFaces 13 文档,p:schedule 组件的 slotLabelFormat 属性是一个字符串,用于确定要在时间段内显示的文本,我理解它...
在 Payara 6 和 Java 11 中使用 RichFaces 或 PrimeFaces 时出现异常
我正在将一个 Web 应用程序从 Payara Server 4(使用 Java 8)迁移到 Payara Community 版本 6(使用 Java 11)上运行。 当我部署使用 RichFaces 的 Web 应用程序时,我得到以下信息
我有一个 id 为 X 的 ,我想从其内容 X_content 中删除填充,为面板内容生成的 HTML 是: 我有一个 <p:panel>,id 为 X,我想从其内容中删除填充 X_content 为面板内容生成的 HTML 是: <div id="X_content" class="ui-panel-content ui-widget-content"> 并且该元素出现在 chrome 开发者工具中以具有填充: padding:0.5em 1em; 我制作了一个嵌入式样式表来覆盖 primefaces 中的样式表,如下所示: <h:head> <style> .ui-panel-content, .ui-widget-content{ padding:0px; } </style> </h:head> 但是我没有工作,填充仍然存在,有人可以帮助我吗? 您的 CSS 选择器 .ui-panel-content, .ui-widget-content { ... } 基本上意味着:“选择具有 ui-panel-content 或 ui-widget-content 类的所有元素”。 但是,填充是通过此 CSS 选择器在 PrimeFaces 默认 CSS 中定义的 .ui-panel .ui-panel-content { ... } 基本上意味着 “选择具有 ui-panel-content 类的所有元素,该类是具有 ui-panel 类的元素的子元素”,这是根据 CSS 级联规则 更强的选择器。因此,它的优先级高于 CSS 选择器。这与样式类的声明顺序无关(仅当选择器具有相同强度时声明顺序才重要)。 当覆盖 PrimeFaces 默认 CSS 时,您应该提供一个“至少”相同强度或更强的选择器。在您的特定情况下,如果您打算全局应用样式,只需使用相同的选择器: .ui-panel .ui-panel-content { padding: 0; } 请注意,当在 <style> 中使用 <h:head> 时,它仍然会被 PrimeFaces 默认 CSS 覆盖,因为它会自动包含在头部末尾。而是将 <style> 移至 <h:body>,或者更好的是,将其放入自己的 CSS 文件中,通过 <h:houtputStylesheet> 将其包含在 <h:body> 内。 另请参阅: 如何使用自定义样式覆盖默认的 PrimeFaces CSS? CSS 选择器语法 我无法真正理解这里的答案,它对我不起作用。 但这有效。 :host { &::ng-deep { .p-panel-content { padding: 0; } } }
我想在交付给最终用户之前从我的 Facelet 中删除所有 HTML 注释。是否存在任何标准方法?
Primefaces 10+ Datatable如何从SortEvent获取排序列?
我们目前使用的是 Primefaces 版本 8,我正在努力将我们迁移到版本 12。 在迁移指南 8.0 -> 10.0.0 中,DataTable 下的重大更改如下所示: SortEvent:已排序
单击提交按钮后,它没有命中我的托管 bean,但也没有显示验证消息。我觉得这很简单,不知道为什么它不起作用......
我使用 f:attribute 标记将值表达式存储在 JSF 组件中,例如: 我使用 f:attribute 标记将值表达式存储在 JSF 组件中,例如: <h:inputText ...> <f:attribute name="myId1" value="#{bean.prop1}" /> <f:attribute name="myId2" value="#{bean.prop2}" /> <f:attribute name="myId3" value="#{bean.prop3}" /> </h:inputText> 有没有办法以编程方式访问所有这些值表达式? (不知道名称 myId1、myId2...) JSF 2.1 规范的第 9.4.2 节规定这些值存储在“组件的 ValueExpression Map 中”。 这是完整规范中唯一出现的术语“ValueExpression Map”。 我如何访问该地图? Jboss/Mojarra 实现的 UI 组件方法 getValueExpression() 中的地图 getStateHelper().get(UIComponentBase.PropertyKeys.bindings) 用于获取单值表达式。 我猜该映射是“ValueExpression Map”的超集? 我能否确定所有实现和所有继承的(标准)组件都使用该映射来存储 ValueExpressions? 谢谢。 在理论上你应该能够通过UIComponent#getAttributes():看到它们全部 var attributes = component.getAttributes(); for (var entry : attributes.entrySet()) { System.out.printf("name=%s, value=%s%n", entry.getKey(), entry.getValue()); } 但是,这并不像您期望的那样工作。它只返回静态属性。这似乎永远不会被修复/实施。另请参阅Mojarra 问题 640。不过,我确实同意 javadoc 需要进一步澄清。 我建议坚持使用预定义前缀和增量数字后缀的属性,就像您在示例中所示的那样。您可以按照以下方式收集它们: var attributes = component.getAttributes(); var values = new ArrayList<Object>(); for (int i = 1; i < Integer.MAX_VALUE; i++) { var name = "myId" + i; var value = attributes.get(name); if (value == null && component.getValueExpression(name) == null) break; values.add(value); } System.out.println(values); BalusC 给出的答案的替代方案可能是使用嵌套构面或 UIParameter 组件。可以使用 getFacets 将分面作为映射进行检索,但您可能需要在每个分面内放置一个额外的 UIOutput 来访问其值表达式。 嵌套的 UIParameters 可以通过迭代子组件并检查 instanceof UIParameter 来访问。 UIParameters 具有 name 和 value 属性,因此可以轻松转换为地图。 我在自定义组件中使用了参数,但我不确定示例中的标准 UIInput 对这些参数有何反应。 BalusC 是对的。 UIComponent#getAttributes().get(name) 从两个地方获取值 - 首先从属性映射中获取值,然后如果没有找到则从“值表达式映射”中获取值。要输入一些值,您必须调用 UIComponent#setValueExpression(name, ValueExpression)。如果 value 是文字,则将其存储到属性映射中,否则存储到“值表达式映射”中。那么一切就都OK了。
我编写了以下 JSF Converter 类: @FacesConverter(“imixsDateConverter”) 公共类 ImixsDateConverter 实现转换器 { 私有静态最终字符串
在不使用 Ajax 的情况下使用 PrimeFaces 提交表单时出错
我正在使用 Jakarta Server Faces 和 PrimeFaces 12 开发一个 JavaWeb 项目。我正在尝试处理一个具有 4 个互相更新的 SelectOneMenu 的表单(第一个更新的选定元素...
Primefaces v10 - 我需要使 <p:textEditor> 不可调整大小并设置最大长度
我使用 Primefaces v10,我需要使 不可调整大小并设置最大长度.. 非常感谢
我曾经使用 JSF - Richfaces,但不知道如何开始它,在学会之前我就退出了。 有什么简单的方法可以开始吗?我需要补充什么。就像将项目分成 4 个左右,
使用 OmniFaces 套接字和 JSF 核心 commandScript 时如何抑制我的 PrimeFaces ajaxStatus?
我的应用程序使用PrimeFaces的全局p:ajaxStatus。每当我需要抑制/避免这种行为时,我都会在特定组件(例如 p:commandButton 等)上使用 global="false"。 布...
JSF 2.1 ViewScopedBean @PreDestroy 方法未调用
我在视图 Scoped Bean 中有一个带有 @PreDestroy 注释的方法,另一个带有 @PostConstruct 注释的方法。 每次我导航到...时都会正确调用 @PostConstruct 方法。