<h:panelGroup>我正在使用 Primefaces 5.0,当<p:inputText>无效时我需要在元素中添加类。我有以下代码:
<h:panelGroup layout="block" styleClass="form-group #{ VALIDATION HERE ? '' : 'has-error'}" >
<p:outputLabel for="txtUserId" value="ID:"/>
<p:inputText styleClass="form-control" id="txtUserId" required="true" value="#{userAction.user.id}">
<f:ajax event="keyup" execute="@this" render="msgtxtUserId"/>
<f:validateLength minimum="2" />
</p:inputText>
<p:message for="txtUserId" id="msgTxtIdUsuario" />
</h:panelGroup>
Run Code Online (Sandbox Code Playgroud)
先感谢您。
我希望Primefaces 条形图中的数字应显示小数点(例如:102.456,00)。
是否可以在函数扩展器中设置数字格式:
function ext() {
this.cfg.axes.yaxis.tickOptions.formatString = "R$ %d ";
this.cfg.seriesDefaults.rendererOptions.dataLabelFormatString = "R$ %d";
}
Run Code Online (Sandbox Code Playgroud)
使用此功能,数字显示如下:R$10832 | R$10832 R$25476 等。但我希望它显示为:R$10.832 | R$10.832 R$25.476 等
是否可以在函数中设置它,还是需要使用Java 数字格式设置它?
简介: 我一直在开发一个带有文档列表的有点复杂的 JSF 表单,现在想要在该列表的每一行中添加一个按钮,这将允许您下载文档文件。Primefaces 对此提供了一个有吸引力的解决方案,因此我逐渐将整个页面转换为使用 primefaces,但现在我刚刚转换了文档表 - 尽管看起来很奇怪,但效果很好。我的问题是,当我添加 , 时p:commandButton,我遇到了一个例外,而且我什至不知道它意味着什么 - 据我所知,我正在遵循我能够找到的示例,包括 primefaces 的展示:
org.primefaces.component.column.Column cannot be cast to javax.faces.component.ActionSource
Run Code Online (Sandbox Code Playgroud)
这是表的详细信息
<h:form id="doclistform">
<p:dataTable value="#{documentsController.documentList}" var="doclst"
id="doclist">
<!-- innocent columns -->
<p:column>
<f:facet name="header">
<h:outputText value="Download"/>
</f:facet>
<p:fileDownload value="#{doclst.docfile}"/>
</p:column>
</p:dataTable>
</h:form>
Run Code Online (Sandbox Code Playgroud)
server.log中的异常:
[2017-11-29T09:27:33.935+0000] [glassfish 5.0] [FATAL] [jsf.context.exception.handler.log] [javax.enterprise.resource.webcontainer.jsf.context] [tid: _ThreadID=31 _ThreadName=http-listener-1(5)] [timeMillis: 1511947653935] [levelValue: 1100] [[
JSF1073: java.lang.ClassCastException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=org.primefaces.component.column.Column cannot be cast to javax.faces.component.ActionSource]]
[2017-11-29T09:27:33.936+0000] [glassfish 5.0] [FATAL] [] …Run Code Online (Sandbox Code Playgroud) 我正在使用 primefaces Datatable 来显示大约 1000 行(和 7 列)。它运行速度很快,但是当我过滤列并尝试按不同列对数据集进行排序时,我会出现奇怪的行为。\n这是一个示例:在第一张图片中,加载时有数据表,看起来很棒。它受到严格审查,因为我正在处理敏感数据。在第二张图片中,我过滤了 2 列,数据表在此之前工作正常,但如果我在此之后对第三列进行排序,我将停止工作,不会显示正确的行。我的数据中不存在其中显示的值(“n\xc3\xa3o 确定”和大量白色字段)。
\n\n\n\n这是我的代码:
\n\n<p:dataTable var="prot" value="#{myBean.listaProtocolos}" rows="15" \n sortBy="#{prot.dataEntradaArea}" sortFunction="#{myBean.sortXMLDatas}" \n sortOrder="descending" paginator="true" style="font-size: 0.9em;" \n paginatorPosition="bottom">\n <p:column filterBy="${prot.nrProtocolo}" filterMatchMode="contains" \n width="8%" style="text-align:center">\n <f:facet name="header">ID</f:facet>\n <p:commandLink action="#{myBean.verDetalhesProtocolo}">\n <h:outputText value="#{prot.nrProtocolo}" \n style="text-decoration: underline;"/>\n <f:setPropertyActionListener target="#{myBean.nrProtocolo}"\n value="#{prot.nrProtocolo}" />\n </p:commandLink>\n </p:column>\n <p:column filterBy="${prot.nrProcesso}" filterMatchMode="contains"\n width="10%">\n <f:facet name="header">N\xc3\xbamero</f:facet>\n <h:outputText value="#{prot.nrProcesso}" />\n </p:column>\n <p:column filterBy="${prot.tipoDeProtocoloDescricao}" \n filterOptions="#{myBean.filtrosTipoDeProtocoloDescricao}" \n width="10%">\n <f:facet name="header">Processo / Protocolo</f:facet>\n <h:outputText value="#{prot.tipoDeProtocoloDescricao}" />\n </p:column>\n <p:column filterBy="${prot.assunto}" sortBy="#{prot.assunto}"\n filterMatchMode="contains" width="30%">\n …Run Code Online (Sandbox Code Playgroud) 我已经实现了一种以这种方式导出 PDF 中的一些信息的机制:
public void generatePdf() {
String fileName = "Bolla_" + productionOrder.getOrderNumber();
writePDFToResponse(new GenerateStatusPDF(companyInfo).generate(productionOrder), fileName);
}
private void writePDFToResponse(ByteArrayOutputStream baos, String fileName) {
try {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.responseReset();
externalContext.setResponseContentType("application/pdf");
externalContext.setResponseHeader("Expires", "0");
externalContext.setResponseHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
externalContext.setResponseHeader("Pragma", "public");
externalContext.setResponseHeader("Content-disposition", "attachment, filename=" + fileName + ".pdf");
externalContext.setResponseContentLength(baos.size());
java.io.OutputStream out = externalContext.getResponseOutputStream();
baos.writeTo(out);
externalContext.responseFlushBuffer();
FacesContext.getCurrentInstance().responseComplete();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的.xhtml文件使用情况:
<h:commandLink>
<p:graphicImage name="/ultima-layout/images/pdf_icon.png"
width="64px" />
<p:fileDownload
value="#{productionOrderStatusView.generatePdf()}" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,但最近几天我遇到了一些问题,出现了以下错误:
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION
Run Code Online (Sandbox Code Playgroud)
我哪里错了?谷歌浏览器可能有一些新的更新吗?
在 PrimeFaces 12 中,引入了 Ajax 加载状态指示器图标p:commandButton。请参阅https://github.com/primefaces/primefaces/pull/8302
我不想在我的项目中使用带有加载状态指示器图标的图标,但我找不到禁用它的选项。那么,如何禁用 Ajax 加载状态指示器图标呢?
使用 Primefaces 创建数据表时,我想在页眉和页脚方面创建一个按钮,但不重复代码。
考虑在<p:dataTable/>元素上具有以下标头方面:
<f:facet name="header">
<p:commandButton value="Preview" icon="pi pi-search" update="@form:dPreview"
oncomplete="PF('wvdPreview').show()"
/>
</f:facet>
Run Code Online (Sandbox Code Playgroud)
如何在另一个方面(比如说name="footer")添加相同的代码而不重复代码?
我在互联网上搜索了一些选项,但只找到了复制标头代码或创建全新组件的选项,并且我不希望应用任何这些方法,除非没有其他方法。
我正在将一个 Web 应用程序从 Payara Server 4(使用 Java 8)迁移到 Payara Community 版本 6(使用 Java 11)上运行。
当我部署使用 RichFaces 的 Web 应用程序时,出现以下错误:
部署期间出现严重错误:NoClassDefFoundError:javax/faces/FacesWrapper:
以下是应用程序使用的 RichFaces 的依赖项引用:
<dependency>
<groupId>org.richfaces</groupId>
<artifactId>richfaces</artifactId>
<version>4.5.17.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我将此 Web 应用程序部署到旧的 Payara 4 服务器时,不会发生这种情况。
更糟糕的是,https://richfaces.jboss.org/ RichFaces 似乎已于 2016 年 6 月结束。
自从看到这个问题后,我读到应该使用 PrimeFaces,所以当我删除 RichFaces 并使用 PrimeFaces 并尝试部署时,我收到这个新错误: LifecycleException: IllegalArgumentException: NoClassDefFoundError: javax/servlet/ServletRequestListener:
仅供参考,这里是对 PrimeFaces 依赖项的 pom.xml 引用:
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>13.0.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有人遇到过类似的问题吗?如果是这样,你是如何解决这个问题的?
我正在使用ap:dataTable和分页一样:
<p:dataTable var="user" value="#{userBean.users}"
paginator="true" rows="20"
paginatorTemplate="{PageLinks}" >
Run Code Online (Sandbox Code Playgroud)
两个问题:
1)当只有一页时,有没有办法告诉它不显示页码?
2)当我从第1页到第2页点击时,整个网页刷新.在PrimeFaces演示中,分页翻转了一个AJAX风格的更新页面.网页令人耳目一新,我做错了什么?
非常感谢任何帮助,谢谢!
抢
我正在使用primefaces及其咆哮控件以显示验证错误消息,并且我想使用required =“ true”,但为每个使用required =“ true”的输入组件自定义消息。我知道您可以覆盖默认的require消息,并且可以创建服务器端检查并添加FacesMessage,但是可以使用required = true并自定义消息吗?现在,它使用的ID不适用于“名字”