我对Wicket很新。有人可以告诉我为什么语音标记和撇号被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问题时,讲师可以为问题添加不同的选项。问题是:如果问题文本包含语音标记或撇号,则它们会以有趣的方式呈现。例如,“不要”这个词被渲染为不。如果有人能为我解决这个问题,我将非常感激。
答案 0 :(得分:0)
您遇到的基本问题是使用特殊的html代码呈现引号,问号和其他特殊字符。似乎正在发生的事情是他们被转换为他们的特殊标签。这是一个应该能够帮助您生成帮助函数的站点,该函数将检测引号和其他特殊符号,然后您可以将其转换为正确的html代码。
例如,如果您在textarea文本中遇到“,可能需要将其转换为”
以下是应该提供帮助的网站http://www.learningmovabletype.com/a/000235display_code/
如果这不起作用,您可以尝试转义特殊字符。再次,你必须编写一个辅助函数来检测它们。在点击引号时,你会在它之前添加一个反斜杠:“ - > \”
答案 1 :(得分:0)
questionText.setEscapeModelStrings(false);