java
  • javascript
  • html
  • jmesa
  • 2012-10-13 2 views 0 likes 
    0

    저는 Java에서 직접 jmesa를 사용하여 tableModel.render()를 사용하여 HTML을 직접 가져 왔습니다. 난 그냥 이런 짓을 했을까 내 자바 코드에서jmesa는 html을 텍스트로 렌더링합니다.

    class blah { 
        String email; 
        public String getEmailLink() { 
         return "<a href='" + email + "</a>" 
        } 
    } 
    

    :

    htmlRow.addColumn(new HtmlColumn("emailLink")); 
    

    jmesa 텍스트로이 렌더링 예 - 내 결과 목록에서 내 웹 객체의 일부는 HTML이 포함되어 있습니다. jmesa에게 문서에있는 그대로의 텍스트를 렌더링하도록 어떻게 말할 수 있습니까?

    TIA

    답변

    1

    the JMesa soure code을 보면 HtmlCellEditor은 자동으로 HTML을 이스케이프 처리합니다.

    아직 테스트하지는 않았지만 기본 유형 HtmlCellEditor을 기본 유형 인 BasicCellEditor과 다른 유형으로 재정의 할 수 있어야합니다. 그것은 너무 많은 추가 코드 안 :

    HtmlColumn emailLinkColumn = new HtmlColumn("emailLink"); 
    emailLinkColumn.setCellEditor(new BasicCellEditor()); 
    htmlRow.addColumn(emailLinkColumn); 
    

    이 모든 또 다른 옵션은 사용자 정의 cellEditor가를 만드는 것입니다 그것은 여러분의 빈에 그 일을 대신 당신을 위해 <a> 태그를 만들 수 있습니다. This page 당신이 그 경로를 가고 싶다면 사용자 정의 CellEditors로 시작해야합니다. BTW

    , 당신은 무시 셀의 내부 단지 값으로 장난하는 경우는/CellEditor 교체하는 것은 (그것이 <td>의 몸과 유사하다 CellEditor) 아마 당신이 필요로하는 모두이다. CellRenderer은 전체 셀과 관련이 있습니다 (<td> 및 해당 내용과 유사).

    1

    사용을 shown in this tutorial로 HtmlCellRenderer.

    관련 문제