由于公司项目中前端框架要改用Primefaces,之前没有接触过这个框架,而且网上资料教程少之又少,只能自己照着官网给的案例一步一步学,话不多说,接下来分享一些我学习中遇到的一些组件问题
1、selectManyCheckbox组件中记得加布局样式layout=“grid”

2、<h:panelGrid cellpadding=“5” columns=“2”> h:panelGrid中才有cellpadding属性

3、 <h:outputText id=“Max” value=“Max,Min and Step”/> id属性不能有空格 例: id=Max Min

4、 <p:dialog widgetVar=“dlg” header=“Content” showEffect=“fade” hideEffect=“fade”>
<p:outputLabel id=“display”>
<h:outputText value="#{editorView.text1}" escape=“false”/> //记得加escape
</p:outputLabel>
</p:dialog>

5、想要获取pickList中的source和target的值,需要用DualListModel cities中的cities.getTarget()和cities.getSource()方法

6、DataTable中列的sortBy属性sortBy ="#{dev.id}" 要在load方法中的map传入参数

由于刚学了两周,还有许多组件没用过,所以只能一边记录一边学习,有大佬知道怎么给按钮添加图标以及加背景图片啊就像官网这样,试了icon属性但没用。。。。

以下为转载内容
转载地址:https://www.ccjk.com/primefaces-ui使用小结/

 一、ManagedBean的Scoped1、RequestScoped2、ViewScoped3、SessionScoped4、ApplicationScoped

Request、Session、Application大家都比较熟悉,就不多说了,ViewScoped顾名思义视图有效,或者说当前页有效,因为Servlet规范里并没有View这个概念,所以它是JSF延伸出的一个概念,个人理解是为Ajax准备的,大家一定要记住它哦,后续它可发挥了很大的作用。

二、Primefaces

1、template的使用

在现在Web开发中,特别是Ajax出现后,framesetframeiframe已经不是特别推荐使用了(当然也可以使用),牛人可以用DIV构建出任何想要的布局,像我们这些平民懂的分享牛人的成果就OK了,在Primefaces里我们可以用p:layout布局,并做成template,后面的每个页面只要继承这个template,就可以直接享用,如下图
2、ViewScoped的使用

这个很重要,在项目开始时,因为SessionScoped的生命周期太长了不想用,所以大部分的ManagedBean都是用的RequestScoped,问题是一个接一个,如p:commandButton和p:commandLink的action和actionListener莫名其妙的不可进入,Ajax的使用也有时可以有时不可以,Scoped换成Session就一切都OK了,发现跟Bean的生命周期有关系,最后调试完,发现用ViewScoped最合适,生命周期比Request长比Session短,同时又能解决上述问题,因为Primefaces UI里大量用到ajax通信,这种场景最适合用ViewScoped。
3、form的使用
在使用中一定要避免form嵌套form的情况,它会出现很多不可以预知的情况,如提交附件会出现问题,但并列form可以放心的使用
4、tree的使用

如上图的Left中可以放置一个树形菜单,使用过的人可能会和我碰到一样的问题,那就是当我打开一个新页面时,树形菜单不能保持我打开页面之前的状态,解决方法:负责树形菜单Node节点的Bean的Scoped要申明成SessionScoped,并在tree标签上加属性dynamic=”true”,如
5、confirmDialog的使用

如果在使用confirmDialog时发现,弹出框被遮罩层给挡住了不可使用,怎么办?解决方法:在confirmDialog标签加属性appendToBody=”true”,如

6、dialog的使用
不得不提的一个组件,超级好用,我的应用里大量用到了它,它用起来让你的Web应用就像是一个Client应用,交互性和用户体验非常的好。你可以将dialog当作一个提示框用,也可以在dialog里做一个复杂的表单,你可以选择遮罩也可以不使用,如果要使用遮罩只需加上属性modal=”true”
7、panelpanelGridoutputPanelaccordionPaneltabView等的使用
他们都是布局展现相关的,用好来,效果非常的好,当然还有其它的。
8、process和update属性的使用
前面说了Primefaces大量用到了Ajax,那就不得不提process和update,他们俩刚好相反,process指出要异步提交哪一部分的内容,update指出要异步更新哪一部分的内容,经常在一起配合使用。功能非常的强大,如果有兴以后可以再详细说说。
9、fileUpload的使用
在使用前要在Web.xml中加入如下部分:
PrimeFaces FileUpload Filter
org.primefaces.webapp.filter.FileUploadFilter
PrimeFaces FileUpload Filter
Faces Servlet
使用p:fileUpload的form必须加上属性enctype=”multipart/form-data”,而且它不
支持Ajax异步提交,所以对应的command要加上属性ajax=”false”。

Primefaces使用小结相关推荐

  1. 【阶段小结】协同开发——这学期的Git使用小结

    [阶段小结]协同开发--这学期的Git使用小结 一.Git简介 1. Git简单介绍 2. Git工作流程以及各个区域 3. Git文件状态变化 二.Git安装&Git基本配置 三.个人踩坑 ...

  2. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  3. php中$_REQUEST、$_POST、$_GET的区别和联系小结

    php中$_REQUEST.$_POST.$_GET的区别和联系小结 作者: 字体:[增加 减小] 类型:转载 php中有$_request与$_post.$_get用于接受表单数据,当时他们有何种区 ...

  4. c cin.get()的用法小结_c语言中static 用法

    static在c里面可以用来修饰变量,也可以用来修饰函数. 先看用来修饰变量的时候.变量在c里面可分为存在全局数据区.栈和堆里.其实我们平时所说的堆栈是栈而不是堆,不要弄混. int a ; int ...

  5. linux 压缩文件夹格式,Linux下常见文件格式的压缩、解压小结

    Linux下常见文件格式的压缩.解压小结 .tar 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ...

  6. 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别

    简单工厂,工厂方法,抽象工厂都属于设计模式中的创建型模式.其主要功能都是帮助我们把对象的实例化部分抽取了出来,优化了系统的架构,并且增强了系统的扩展性. 本文是本人对这三种模式学习后的一个小结以及对他 ...

  7. flash 入门课知识小结

    一. 几种类型帧的小结:(关键帧.空白关键帧.普通帧) 1. 特点   帧--是进行flash动画制作的最基本的单位,每一个精彩的flash动画都是由很多个精心雕琢的帧构成的,在时间轴上的每一帧都可以 ...

  8. Eigen/Matlab 使用小结

    文章目录 [Eigen Matlab使用小结](https://www.cnblogs.com/rainbow70626/p/8819119.html) Eigen初始化 0.[官网资料](http: ...

  9. MATLAB【十三】————仿真函数记录以及matlab变成小结

    part one:matlab 编程小结. 1.char 与string的区别,char使用的单引号 '' ,string使用的是双引号"". 2.一般标题中的输出一定要通过 nu ...

最新文章

  1. 重磅!计算机主题征稿,【EI/SCI检索】ICCBD 2021诚邀您投稿参会!
  2. linux下top命令
  3. 丹佛斯变频器型号说明_英威腾变频器Goodrive20系列产品型号说明及功能介绍
  4. Enterprise Architect
  5. 【OpenCV3】旋转矩形(cv::RotateRect)的绘制
  6. sonarqube下载地址
  7. net以execl做数据库_[原创]Net实现Excel导入导出到数据库(附源码)
  8. oracle数据库imp导入,imp 导入 没有数据库
  9. vue function (i)第一次点击不执行_vue下$nextTick及原理浅析
  10. java this的用法
  11. Python内置模块---random
  12. Python+tkinter根据窗体大小自动缩放并显示图像
  13. 相机标定:机器人手眼标定全解析
  14. U盘数据恢复软件EasyRecovery的使用教程
  15. Transformer具体如何进行机器翻译
  16. IE浏览器下载中文文件,文件名乱码或变成下划线问题
  17. php euc-cn,php配置中文解说
  18. 【周末送新书】基于BERT模型的自然语言处理实战
  19. socket编程之accept()函数
  20. 决策树例子与python实现

热门文章

  1. 微信开放标签wx-open-launch-app
  2. Vim 自定义补全利器 Snippet
  3. 前馈神经网络与支持向量机实战 --- 手写数字识别
  4. 《机器学习实战:基于Scikit-Learn、Keras和TensorFlow(第2版)》学习笔记
  5. 算法:Climbing Stairs(爬楼梯) 6种解法
  6. php示例代码之使用MySQLi接口
  7. “我比Goodfellow提前三年想到了GAN”
  8. 启用计算机的无线同屏,Windows10如何使用无线同屏功能?
  9. arm开发板(I.MX6U)ping通虚拟机Ubuntu方法
  10. 什么是“富人思维”?