2012-05-01 33 views
7

Tôi đang thử viết một vài dòng nhỏ html trong lớp java của tôi để lấy một số dữ liệu từ một API khác. Tôi lấy dữ liệu trong chuỗi JSON và sau đó muốn hiển thị một số dữ liệu trên một trang web.Viết html trong một chuỗi

Để tạo ra HTML, tôi cố gắng:

 StringBuilder sb = new StringBuilder(); 
    for(int i=0;i<leads.size();i++){ 
     sb.append("<p>Name: "+leads.get(i).getFirstName()+" "+leads.get(i).getLastName()+"</p>"); 
     sb.append("<p>Email: "+leads.get(i).getEmail()+"</p>"); 
     sb.append("<br />"); 
    } 
    fullLeadData = sb.toString(); 

Nhưng những gì kết thúc lên được hiển thị là một giải thích nghĩa đen của các thẻ html. Có cách nào để tôi có thể tạo chuỗi này sao cho các thẻ sẽ vẫn là thẻ chứ không phải các ký tự thoát?

Lớp java là một bean được quản lý, vì vậy trong html Tôi có:

<body> 
    <div id="display"> 
     #{PortalView.fullLeadData} 
    </div> 
</body> 

đâu fullLeadData là chuỗi với html.

+1

Bạn đang cố gắng hiển thị văn bản này ở đâu? –

+0

cập nhật bài đăng của tôi, hiển thị trên trang web đó –

+0

các chuỗi nối bên trong phương pháp chắp thêm không phải là một thực hành rất tốt. – ChadNC

Trả lời

7

Có vẻ như bạn đang sử dụng JSF. Hãy thử điều này:

<div id="display"> 
    <h:outputText value="#{PortalView.fullLeadData}" escape="false"/> 
</div> 
+0

Xin cảm ơn, Gamb! –

1

Bạn có thể cần phải thay thế trình tự thoát. Thông thường là

‘&’ (ampersand) ‘&amp;‘ 
‘"’ (double quote) ‘&quot;‘ 
”’ (single quote) ‘&#039;‘ 
‘<’ (less than) ‘&lt;‘ 
‘>’ (greater than) ‘&gt;‘ 
Các vấn đề liên quan