1. 程式人生 > >【Primefaces】commandButton/commandLink的一些注意問題

【Primefaces】commandButton/commandLink的一些注意問題

注意問題: commandButton和commandLink需要在<h:form>標籤內使用才有效,預設是ajax提交,可通過ajax=‘false’來設定非ajax提交
  1. MB中方法引數可以加ActionEvent actionEvent,也可以不加,都可以
      public void buttonAction(){ kbService = (KBManagementService) SpringContextUtil.getBean("kbManagementService"); kbService.addKBItem(item );       }
  1. 頁面中 process的作用是區域性提交,在<h:form>中不寫process的話預設提交整個表單,一般這樣就可以了。若使用process可控制區域性提交,但是要主要先加 @this ,然後再加 子部分的id, 如: process
    = "@this testPanel"
程式碼如下: <htmlxmlns="http://www.w3.org/1999/xhtml" xmlns:h= "http://java.sun.com/jsf/html" xmlns:f= "http://java.sun.com/jsf/core" xmlns:ui= "http://java.sun.com/jsf/facelets" xmlns:p= "http://primefaces.org/ui" > <h:head > </h:head> <h:body > <h:form >
<p:growl id= "growl" life ="2000" /> <p:panelGrid columns= "1" id ="testPanel"> <p:inputText value= "#{testMB.item.type}"></p:inputText > <p:inputText value= "#{testMB.item.title}"></p:inputText > <p:editor value= "#{testMB.item.content}" /> </p:panelGrid
> <p:commandButton process= "@this testPanel" value ="Submit" update="growl" actionListener= "#{testMB.buttonAction}" /> </h:form> </h:body > </html> /**  *  */ package com.kb.mb; import javax.faces.bean.ManagedBean; import javax.faces.event.ActionEvent; import com.kb.domain.KnowledgeItem; import com.kb.service.KBManagementService; import com.kb.util.SpringContextUtil; /**  * @author shipengfei  *  */ @ManagedBean(name="testMB") public class Test {     private KBManagementService kbService;     private KnowledgeItem item = new KnowledgeItem();     public Test() {         super();     }     public void buttonAction(){         System.out.println("come in...");         System.out.println("value..." + item.getTitle());         kbService = (KBManagementService) SpringContextUtil.getBean("kbManagementService");         kbService.addKBItem(item);         System.out.println("end....");     }     public KnowledgeItem getItem() {         return item;     }     public void setItem(KnowledgeItem item) {         this.item = item;     }     public KBManagementService getKbService() {         return kbService;     }     public void setKbService(KBManagementService kbService) {         this.kbService = kbService;     } }