2014-02-21 2 views
0

Я использую RichFaces 4 в моем JSF приложения, но I`d хотел вызвать метод из моего боба, когда пользователь нажимает на кнопку сохранить (например, для сохранения в файле text.txt)Как настроить кнопку сохранения в редакторе с помощью RichFaces 4?

Есть ли способ вызвать метод java, когда пользователь нажимает на rich: кнопка сохранения редактора?

Вот код i`m с помощью

<?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

На самом деле, дополнительная кнопка была простым способом сделать это, и я уже знал об этом, но я хотел бы сделать это по шаблону, используемому в приложениях (дискета в верхнем левом углу), чтобы сделать мое приложение ближе к подпрограмме от моего пользователя и передать ему лучший опыт. И я думаю, что если бы они установили эту иконку на диске, у нее должен быть способ использовать ее для чего-то полезного. – LeandroC

ответ

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

Bean:

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

Это должно отправить форму, поэтому значение редактора сохраняется в bean-компоненте. При нажатии кнопки содержимое редактора должно отображаться в вашем System.out.

Смежные вопросы