2014-10-06 110 views
1

我想用ajax執行一個簡單的命令,但沒有任何輸入。 這是我的代碼:JSF 2.0 Ajax commandButton只執行

<h:form> 
     <h:commandButton class="button" 
         value="Invite" 
         action="#{trainingController.inviteProfile(p)}"> 
     </h:commandButton> 
</h:form> 

變量p是從經由Ajax請求也被填充。 任何想法如何實現我的目標?

回答

0

您可以使用f:ajax存檔。 示例如下所示。

XHTML

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core"> 
    <h:head> 
     <title>Submit</title> 
    </h:head> 

    <h:body> 
     <h:form> 
      <h:commandButton value="Submit" 
          action="#{coffeeBean.submit('abc')}"> 
       <f:ajax execute="@this" 
         render="@this" /> 
      </h:commandButton> 
     </h:form> 
    </h:body> 

</html> 

ManagedBean

@ManagedBean(name = "coffeeBean") 
@SessionScoped 
public class CoffeeBean implements Serializable { 

    public void submit(String s){ 
     System.out.println("s:" + s); 
    } 
} 

你可以看到從這個like約EL庫的詳細信息,這like存在如何檢查EL的版本服務器。