2012-10-16 2 views
1

저는 jsf에 익숙하지 않아 웹 페이지에서 TinyMCE를 서식있는 텍스트 편집기로 사용하고 싶습니다.jsfpage에 TinyMCE를 표시하는 방법은 무엇입니까?

http://www.tinymce.com/wiki.php/%22For_Dummies%22

내 IDE로하고, NetBean 사용하고 있습니다 : 여기 TinyMCE에 의해 주어진 설치 지침을 따랐다. 나는

내 newjsf.xhtml 페이지에서 이것을 가지고는 - 전쟁의 프로젝트 폴더 바로 아래에 위치한 "웹 페이지"폴더에 넣어 "자원"라는 이름의 폴더 아래에 tiny_mce 폴더를 넣어

<h:head>  
    <title>test</title> 
    <script src="/resources/tiny_mce/tiny_mce.js" type="text/javascript"></script> 

    <script type="text/javascript"> 
     tinyMCE.init({ 
      // General options 
      mode : "textareas", 
      theme : "simple"   
     }); 
    </script>  

</h:head> 
<h:body> 
    <h:form id="window">   

     <h:inputTextarea id="field" value="#{test.text}" /> 

    </h:form> 
</h:body> 

여기는 관리 대상 비니입니다.

public class test { 

private String text; 

public test() { 
} 

/** 
* @return the text 
*/ 
public String getText() { 
    return text; 
} 

/** 
* @param text the text to set 
*/ 
public void setText(String text) { 
    System.out.println("setted me!!!!!!!!!" + text); 
    this.text = text; 
} 

} 내가 브라우저 페이지에서 얻을 무엇

는 일반 텍스트 영역 "" 대신 TinyMCE에 텍스트 편집기입니다. 자바 스크립트가 자동으로 일반 텍스트 영역을 TinyMCE로 대체한다는 것은 사실이 아닙니까? 또는 tiny_mce.js의 경로를 잘못 지정하여 프로그램이 .js 파일의 소스를 찾을 수 없도록로드 했습니까? 이상한 것은 glassfish 서버 로그에 newjsf.xhtml 페이지를 열 때 오류/예외 출력이 없다는 것입니다. 단지 TinyMCE는 데모에 표시된 텍스트 대신 일반 텍스트 영역입니다.

감사합니다.


나는 디스플레이 문제를 해결합니다. 그것은 실제로 tiny_mce 폴더를 두는 곳에서 발생했습니다. 패키지의 예제 웹 페이지를 모방하고 .js 파일을 상대 구조가있는 경로에 넣으십시오. 예를 들어 편집기가 표시됩니다. 내가 만난 새로운 문제는 inputTextarea 컨텐츠를 managerbean에 전달하는 방법입니다. 아래 두 줄에 내용을 제출해야합니다.

시간 : inputTextarea 값은 = "# {test.text}" P : 명령 단추 값 =의 actionListener = "# {test.print}"

방법 내 managerbean

public void print(){ 
    if (this.text == null) { 
     System.out.println("why"); 
    } else { 
     System.out.println(this.text + "i got it"); 
    } 
} 
public String getText() { 
    return text; 
} 
public void setText(String text) { 
    System.out.println("setted me!!!!!!!!!" + text); 
    this.text = text; 
} 

"제출" 제출할 때 서버 출력은이 것입니다.

정보 : 나를 설정하십시오 !!!!!!!!! INFO : i got it

setter에 대한 호출이 캡처 된 경우에도 입력 한 모든 콘텐츠가 캡처되지 않습니다. 누군가 나를 도울 수 있습니까? 고맙습니다.

+0

정보 : TinyMCE에이 텍스트 영역을 숨기고 이미 PrimeFaces를 사용하는 것 – Thariama

답변

0

알 겠어! 단지 onclick = "tinyMCE.getContent()"를 추가하면 내용을 관리자 용으로 전달할 수 있습니다. 더 좋은 제안이 있으시면 아래에 게시하십시오.

+1

페이지에서의 contentEditable은 iframe을 삽입합니다. 왜 그냥 ''을 사용하지 않으시겠습니까? – BalusC