2011-11-06 14 views
32

Đây là những gì tôi đang cố gắng để làm:Cách định dạng đoạn mã trong Javadoc bằng @ và {các biểu tượng bên trong?

/** 
* <pre> 
* {@code 
* &#64;XmlRootElement 
* public final class Page &#123; 
* &#125; 
* } 
* </pre> 
*/ 

Tôi mong nó được định dạng như:

@XmlRootElement 
public final class Page { 
} 

Nhưng tôi nhận được:

&#64;XmlRootElement 
public final class Page &#123; 
&#125; 

Thay thế các thực thể HTML này có ký hiệu thực (@, {, }) dẫn đến cảnh báo javadoc và định dạng hoàn toàn không chính xác. Giải pháp là gì?

Trả lời

35

Đây là cách cuối cùng nó làm việc cho tôi:

/** 
* <pre> 
* &#64;XmlRootElement 
* public final class Page { 
* } 
* </pre> 
*/ 
6

quấn đoạn mã của bạn bằng <pre><code></code></pre>. Đây là những thẻ HTML đặc biệt cho phép bạn quên đi việc thoát khỏi các ký tự đặc biệt.

+5

Huh. Không có gì trong định nghĩa 'pre' hay' code' để thoát khỏi các ký tự đặc biệt. Họ chỉ thay đổi phông chữ và giải thích khoảng trắng. (Ngoài ra, '@' và '{' có thể được Javadoc giải thích trước khi trình duyệt HTML thậm chí nhận được chúng.) –

27
<pre> 
<code> 
{@[email protected]}Override 
public String toString() { 
    return "blah"; 
} 
</code> 
</pre> 

này làm việc cho tôi.

+0

Tôi phải thêm một khoảng trắng giữa '@ literal' và' @ ', như vậy:' {@literal @} Ghi đè' – geld0r

1

Đó là câu hỏi cũ nhưng tôi đã tìm ra lý do tại sao nó không hoạt động đối với tôi.

này đã không làm việc:

<pre>{@code 
@Autowired 

Nhưng khi tất cả được viết trong một dòng nó hoạt động.

<pre> 
{@code @Autowired