`
eja49eja
  • 浏览: 10391 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

情人节后的 JSF PrimeFaces2.0 更完美了!

阅读更多

情人节后的 JSF PrimeFaces2.0 更完美了!
2011年07月01日
          PrimeFaces是最早也最全面的支持JSF2.0的开源库,它显然走在了RichFaces,ICEfaces,MyFaces的前面,2月14日后对JSF2.0的支持更加的完善,增加了几个组件并修补了很多bug,受益于JavaEE6.0的新技术,我们现在可以零配置的在Netbeans6.8或新版本中开发PrimeFaces2.0应用了。 
  在这里只需要到http://www.primefaces.org网站上下载其jar包并添加到项目classpath上即可,相当简单,我们看一下官方的一个使用Tree组建事件特性的完整例子(5分钟内搞定): 
  1.在Netbeans下新建一JavaWeb工程,一切皆默认,并将primefaces-2.0.0.jar添加到类路径中,index页面代码如下    Facelet Title   Hello from Facelets                     
  2.其托管bean代码如下 package controller; import java.util.logging.Logger; import javax.faces.bean.ManagedBean; import javax.faces.bean.RequestScoped; import javax.inject.Named; import org.primefaces.event.NodeCollapseEvent; import org.primefaces.event.NodeExpandEvent; import org.primefaces.event.NodeSelectEvent; import org.primefaces.model.TreeNode; /** * * @author Bluesky */ @ManagedBean @Named @RequestScoped public class DocumentsController { private static final Logger logger = Logger.getLogger(DocumentsController.class.getName ()); private TreeNode root; private TreeNode selectedDocument; public DocumentsController() { root = new TreeNode("root", null); TreeNode documents = new TreeNode("Documents", root); TreeNode pictures = new TreeNode("Pictures", root); TreeNode music = new TreeNode("Music", root); TreeNode work = new TreeNode("Work", documents); TreeNode primefaces = new TreeNode("PrimeFaces", documents); //Documents TreeNode expenses = new TreeNode("document", "Expenses.doc", work); TreeNode resume = new TreeNode("document", "Resume.doc", work); TreeNode refdoc = new TreeNode("document", "RefDoc.pages", primefaces); //Pictures TreeNode barca = new TreeNode("picture", "barcelona.jpg", pictures); TreeNode primelogo = new TreeNode("picture", "logo.jpg", pictures); TreeNode optimus = new TreeNode("picture", "optimus.png", pictures); //Music TreeNode turkish = new TreeNode("Turkish", music); TreeNode cemKaraca = new TreeNode("Cem Karaca", turkish); TreeNode erkinKoray = new TreeNode("Erkin Koray", turkish); TreeNode mogollar = new TreeNode("Mogollar", turkish); TreeNode nemalacak = new TreeNode("mp3", "Nem Alacak Felek Benim", cemKaraca); TreeNode resimdeki = new TreeNode("mp3", "Resimdeki Goz Yaslari", cemKaraca); TreeNode copculer = new TreeNode("mp3", "Copculer", erkinKoray); TreeNode oylebirgecer = new TreeNode("mp3", "Oyle Bir Gecer", erkinKoray); TreeNode toprakana = new TreeNode("mp3", "Toprak Ana", mogollar); TreeNode bisiyapmali = new TreeNode("mp3", "Bisi Yapmali", mogollar); } public TreeNode getRoot() { return root; } public void setRoot(TreeNode root) { this.root = root; } public TreeNode getSelectedDocument() { return selectedDocument; } public void setSelectedDocument(TreeNode selectedDocument) { this.selectedDocument = selectedDocument; } public void onNodeSelect(NodeSelectEvent event) { selectedDocument = event.getTreeNode(); logger.info("Selected:" + selectedDocument.getData()); } public void onNodeExpand(NodeExpandEvent event) { String node = event.getTreeNode().getData().toString(); logger.info("Expanded:" + node); } public void onNodeCollapse(NodeCollapseEvent event) { String node = event.getTreeNode().getData().toString(); logger.info("Collapsed:" + node); } } 
  3.运行就ok了,可以很容易实现左边树导航,中间内容的经典应用。 
  
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics