2011-01-29 38 views
0

我对Wicket很新。有人能告诉我为什么语音标记和撇号被textarea渲染为一堆数字和#符号吗?这里有一段代码:TextArea错误地呈现撇号(和语音标记)

public class QuestionOptions extends BasePage{ 
private int ID; 
private String text; 
private TextArea optionText,questionText; 
private DropDownChoice isOptionCorrect; 
private InvalidInputIndicator optionsLabel,isCorrectLabel; 
private FeedbackPanel feedback; 
public QuestionOptions(final int ID, String questiontext){ 
    this.ID=ID; 
    text=questiontext; 
    Form form=new Form("optionsform"); 
    add(form); 
    feedback=new FeedbackPanel("msgs"); 
    form.add(feedback); 
    feedback.setOutputMarkupId(true); 
    questionText=new TextArea("text",new Model(text)); 
    questionText.setEnabled(false); 
    form.add(questionText); 

这个想法是,当设计MCQ问题时,讲师可以给问题添加不同的选项。问题是:如果问题文本包含语音标记或撇号,它们会以滑稽的方式呈现。例如,'do not'这个词被渲染为don ' t。如果有人能为我提供解决这个问题的办法,我会非常感激。

+0

你能有一些样本代码好吗?你的问题在目前的形式上过于通用。 – biziclop 2011-01-29 23:25:24

+2

对,下一步是调用`System.out.println(text);`在那里检查原文是什么。 – biziclop 2011-01-30 00:13:46

回答

0
questionText.setEscapeModelStrings(false); 
0

您遇到的基本问题是使用特殊的html代码呈现引号,问号和其他特殊字符。似乎正在发生的事情是他们正在转换为他们的特殊标签。这里有一个网站应该能够帮助您生成一个辅助函数,它将检测引号和其他特殊符号,然后您可以将它们转换为正确的html代码。

举例来说,如果你遇到了“在textarea的文字,你可能想将其转换成"

这里的网站,应该帮助,http://www.learningmovabletype.com/a/000235display_code/

此外,如果不工作,你。可能会试图逃避特殊字符同样你会写一个辅助功能,以检测它们当打一个报价,你会之前把它添加一个反斜杠,像这样:“ - > \”