2011-11-06 6 views
32

Esto es lo que estoy tratando de hacer:¿Cómo formatear el fragmento de código en Javadoc con @ y {símbolos adentro?

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

estoy esperando a ser formateada como:

@XmlRootElement 
public final class Page { 
} 

Pero estoy:

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

Sustitución estas entidades HTML con símbolos reales (@, {, }) llevan a advertencias de javadoc y un formato absolutamente incorrecto. ¿Qué es una solución?

Respuesta

35

Ésta es la forma en que finalmente funciona para mí:

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

envolver el fragmento de código con <pre><code></code></pre>. Estas son etiquetas HTML especiales que le permiten olvidarse del escape de caracteres especiales.

+5

Huh. No hay nada en la definición de 'pre' o' code' que escapa de los caracteres especiales. Solo cambian la fuente y la interpretación del espacio en blanco. (Además, '@' y' {'podrían ser interpretados por Javadoc incluso antes de que el navegador HTML los obtenga). –

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

Esto funciona para mí.

+0

Tuve que agregar un espacio entre' @ literal' y '@', así: '{@literal @} Anular' – geld0r

1

Es cuestión de edad, pero me di cuenta de por qué no estaba trabajando para mí.

Esto no estaba funcionando:

<pre>{@code 
@Autowired 

Pero cuando todo escrito en una sola línea funciona.

<pre> 
{@code @Autowired 
Cuestiones relacionadas