我正在使用<p:dataTable>
PrimeFaces 3.3.1和分页.分页按钮显示在表格页眉和页脚中.我想隐藏表头中的分页按钮并将其保留在表格页脚中.我怎样才能做到这一点?
在许多地方,人们可以找到使用PF
Primefaces 的函数.例如在这个答案中
从我到目前为止所看到的,它似乎是一种神奇的"让它工作得更好"的功能.但我不相信这种东西:
这个功能有什么作用?
我在哪里可以找到有关它的文档?
有没有办法从JSF中的托管bean调用(执行)JavaScript函数?
如果这是相关的,我也使用PrimeFaces.
我有一个输入字段,带有一个电子邮件地址:
<h:inputText value="#{register.user.email}" required="true" />
Run Code Online (Sandbox Code Playgroud)
如何在JSF 2/PrimeFaces中使用正则表达式将输入的值验证为有效的电子邮件地址?
我使用可编辑的primefaces selectOneMenu来显示一些值.如果用户从列表中选择项目,则应更新文本区域.但是,如果用户在selectOneMenu中键入内容,则不应更新textarea.
我以为我可以用ajax事件来解决这个问题.但是,我不知道我可以在这里使用哪个事件.我只知道这valueChange
件事.还有其他活动,比如onSelect
或onKeyUp
?
这是我的代码:
<p:selectOneMenu id="betreff" style="width: 470px !important;"
editable="true" value="#{post.aktNachricht.subject}">
<p:ajax event="valueChange" update="msgtext"
listener="#{post.subjectSelectionChanged}" />
<f:selectItems value="#{post.subjectList}" />
</p:selectOneMenu>
<p:inputTextarea style="width:550px;" rows="15" id="msgtext"
value="#{post.aktNachricht.text}" />
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序在以下环境中运行.
有几个公共页面从数据库中延迟加载.一些CSS菜单显示在模板页面的标题上,如显示类别/子类别特征,最畅销,新到达等产品.
CSS菜单根据数据库中的各种产品类别从数据库动态填充.
这些菜单填充在每个页面加载上,这是完全没有必要的.其中一些菜单需要复杂/昂贵的JPA标准查询.
目前,填充这些菜单的JSF托管bean是视图范围的.它们都应该是应用程序作用域,在应用程序启动时只加载一次,并且只有在更新/更改相应数据库表(类别/子类别/产品等)中的某些内容时才更新.
我做了一些尝试来理解WebSokets(从未尝试过,对WebSokets来说是全新的),就像这样和这个.他们在GlassFish 4.0上运行良好,但它们不涉及数据库.我仍然无法正确理解WebSokets的工作方式.特别是涉及数据库时.
在这种情况下,当更新/删除/添加到相应的数据库表时,如何通知关联的客户端并使用数据库中的最新值更新上述CSS菜单?
一个简单的例子很棒.
重要提示:此线程中讨论的问题已于2014年10月6日星期一(几分钟前)发布的PrimeFaces 5.1 final(社区发布)中得到修复.我尝试了JSF 2.2.8-02(或api,impl).
因此,如果您碰巧使用该版本(或更高版本,无需提及),您甚至不需要再阅读此问题了.
我正在运行一个Web应用程序
除了使用AJAX上传文件外,其他一切都运行良好.以下xhtml文件通过PrimeFaces命令按钮触发的AJAX请求发送多部分内容.
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Test</title>
</h:head>
<h:body>
<h:form prependId="true" enctype="multipart/form-data">
<p:fileUpload id="txtCatImage"
value="#{testManagedBean.uploadedFile}"
mode="advanced"
dragDropSupport="true"
fileLimit="1"
sizeLimit="100000"
multiple="false"
allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
fileUploadListener="#{testManagedBean.fileUploadListener}"/>
<p:message for="txtCatImage" showSummary="false"/>
<p:commandButton id="btnSubmit"
actionListener="#{testManagedBean.insert}"
ajax="true" icon="ui-icon-check" value="Save"/>
</h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)
测试托管bean:
@ManagedBean
@ViewScoped
public final class TestManagedBean implements Serializable {
private static final long serialVersionUID = …
Run Code Online (Sandbox Code Playgroud) 是否可以从javascript更新PrimeFaces组件,以便强制刷新?
我正在使用对话框中的此按钮进行ajax保存调用.我已经在oncomplete事件上附加了我的自定义javascript.
<p:growl life="1500" id="showmessage"/>
<p:dialog id="addMemberDialog" widgetVar="addMemberDlg">
<!-- More Code -->
<p:commandButton value="Save"
actionListener="#{memberManagedBean.save}"
oncomplete="handleSaveNewMember(xhr, status, args)"
update=":memberListForm:membersTable createupdateform "
process="@form" />
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
..在保存按钮,我在这里添加一条消息,使用growl组件将其显示给客户端.
public void save(ActionEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Successfuly Add user", "Successfuly Add user");
FacesContext.getCurrentInstance().addMessage(null, message);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何对UI进行排序,我应该在growl组件显示meesage之前先隐藏对话框?
function handleSaveNewMember(xhr, status, args) {
addMemberDlg.hide();
//update the growl after the dialog was hidden?
}
Run Code Online (Sandbox Code Playgroud)
发生的事情是,growl组件同时显示在对话框旁边.
谢谢.
我们有一些针对大量数据运行的搜索页面需要一段时间才能完成.当用户点击搜索按钮时,我们不希望他们第二次提交搜索结果.
在JSF中进行"双击"检测/预防是否有最佳实践?
PrimeFaces组件似乎可以做我们想要的,因为它会在点击搜索按钮和搜索完成之间的一段时间内禁用UI,但是我们可以使用更通用的策略(也许是不是依赖于PrimeFaces)?理想情况下,在搜索完成之前,对按钮的任何单击都将被禁用或忽略.我们不一定需要禁用整个UI(因为blockUI允许你这样做).
我有一个数据包括primefaces的过滤器功能.可以在桌面上完成一些操作(例如编辑).使用ajax完成用户操作后,将更新datable.它直接更新表并且运行良好,如果我不过滤数据表,遗憾的是如果我使用它并编辑它.
这就是我的数据表的样子:
<p:dataTable id="dataTable" var="row"
value="#{bean.value}"
filteredValue="#{bean.filteredValue}"
paginator="true" rows="25" paginatorPosition="bottom"
rowKey="${row.id}"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
editable="true">
Run Code Online (Sandbox Code Playgroud)
以及触发更新的Button
<p:commandButton value="Save"
actionListener="#{bean.save}"
update=":form"/>
Run Code Online (Sandbox Code Playgroud) primefaces ×10
jsf ×7
jsf-2 ×4
ajax ×2
datatable ×1
filter ×1
glassfish-4 ×1
java-ee ×1
java-ee-7 ×1
javascript ×1
jsf-2.2 ×1
managed-bean ×1
regex ×1
websocket ×1