2010-02-15 5 views
0

S'il vous plaît envisager le scénario suivant. J'ai un formulaire avec une propriété:Struts caractères d'encodage problème en réponse html

class MyForm extends ActionForm{ 
    String myProperty; 
    ... // getter & setters here 
} 

Je mis cette propriété en classe d'action:

class MyAction extends Action{ 
    ... // execute method begins here 
    myForm.setMyProperty("<b>Hello World</b>"); 
    ... // execute method returns here 
} 

Maintenant, quand j'ouvre la page JSP respective, je me suivais html au point où l'myProperty est supposé être affiché:

&lt;b&gt;Hello World&lt;/b&gt; 

Ce qui est faux. Il est censé générer le html suivant:

<b>Hello World</b> 

Des idées comment ce problème peut-il être résolu?

EDIT

Le code JSP est comme suivant:

<bean:write name="MyForm" property="myProperty"/> 
+0

Afficher le code qui utilise myProperty à la fin, ce code n'en dit pas beaucoup. – user231967

+0

@nodan ... J'ai ajouté le code qui utilise myProperty. – craftsman

Répondre

2

Utiliser l'attribut escapeXml pour préserver le format HTML:

//your view *.jsp 
<c:out value="${myProperty}" escapeXml="false"/> 
1

J'ai eu soupçon de baijiu « s répondre, et trouvé la solution:

<bean:write name="MyForm" property="myProperty" filter="false"/> 

La simple définition de filter = "false" affiche les caractères sensibles tels quels, sans codage. Merci baijiu.