【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"

代码如下:

< html xmlns = "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;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值