2014-02-21 44 views
0

我用我JSF應用RichFaces的4,但我想要一份從我的豆調用一個方法,當用戶按下保存按鈕(例如:在text.txt文件保存)如何使用RichFaces 4自定義編輯器上的保存按鈕?

當用戶點擊rich:editor保存按鈕時,有沒有辦法調用java方法?

下面是使用

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!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" 
xmlns:ui="http://java.sun.com/jsf/facelets" 
xmlns:a4j="http://richfaces.org/a4j" 
xmlns:rich="http://richfaces.org/rich"> 
    <h:head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
    <title>Insert title here</title> 
    </h:head> 
    <h:body> 


     <h:form> 


    <rich:editor id="editor" toolbar="full" value="#{editorBean.value}" 
     style="margin-bottom: 1em" height="400" > 


     <a4j:ajax event="change" render="panel" status="panelUpdateStatus" /> 

     <a4j:ajax event="dirty" render="panel" status="panelUpdateStatus"> 
      <a4j:attachQueue requestDelay="1000" /> 
     </a4j:ajax> 



    </rich:editor> 

    <rich:panel id="panel"> 
     <f:facet name="header"> 
      Output from Editor 
      <a4j:status name="panelUpdateStatus"> 
       <f:facet name="start"> 
        (Updating) 
       </f:facet> 
      </a4j:status> 
     </f:facet> 
      <h:outputText escape="false" value="#{editorBean.value}" /> 

    </rich:panel> 


</h:form> 

EditorBean代碼我真的

import java.io.Serializable; 


import javax.enterprise.context.SessionScoped; 
import javax.inject.Named; 

@Named 
    @SessionScoped 
    public class EditorBean implements Serializable{ 

/** 
* 
*/ 
private static final long serialVersionUID = 5383915229820571701L; 


private String value; 

/** 
* @return the value 
*/ 
public String getValue() { 
    return value; 
} 

/** 
* @param value the value to set 
*/ 
public void setValue(String value) { 
    this.value = value; 
} 

public void save(){ 
    System.out.println(" Saving "); 
    //Code to save 
} 
} 
+0

是@W vd L建議的額外按鈕,還是您*需要*覆蓋保存圖標功能? – mabi

+0

其實一個額外的按鈕是一個簡單的方法來做到這一點,我已經知道這種方式,但我想使它遵循應用程序中使用的模式(左上角的disket)使我的應用程序最接近例程從我的用戶身上傳授更好的經驗給他。我認爲如果他們把這個盤圖標必須有一個方法來使用它的東西有用。 – LeandroC

回答

0
<form> 
    <editor></editor> 
    <a4j:commandButton value="Ok" type="submit" execute="@form" action="{editorBean.save()}" /> 
</form> 

豆:

public void save(){ 
    System.out.println(" Saving: " + this.value); 
    //Code to save 
} 

這應該提交表單,所以編輯器的值被保存到bean中。 按下按鈕時,編輯器內容應顯示在System.out中。

相關問題