2011-01-29 1 views
0

저는 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 질문을 설계 할 때 강사가 질문에 다른 옵션을 추가 할 수 있다는 것입니다 : 여기에 코드의 비트입니다. 문제는 질문 텍스트에 스피치 마크 또는 아포스트로피가 포함되어있는 경우 재미있는 방식으로 렌더링된다는 것입니다. 예를 들어 'do not'라는 단어는 don ' t로 렌더링됩니다. 누구든지이 문제에 대한 해결책을 제공 할 수 있다면 매우 감사 할 것입니다.

+0

당신은 몇 가지 예제를 포함 할 수 있습니다 코드주세요. on은 현재 형태로 너무 일반적입니다. – biziclop

+2

그렇다면 다음 단계는 그 안에 어딘가에 원래 텍스트가 무엇인지 확인하기 위해'System.out.println (text); '를 호출하는 것입니다. – biziclop

+0

재밌 네요, 내가 '돈을 쓰려고 했어. ' t'이라고 쓰고, '렌더링되지 않은 것처럼'나왔다. System.out.println (텍스트)하기; 같은 이상한 결과를 낸다 –

답변

0
questionText.setEscapeModelStrings(false); 
0

기본 문제는 따옴표, 물음표 및 기타 특수 문자가 특수 html 코드를 사용하여 렌더링된다는 것입니다. 무슨 일이 일어나고있는 지 그들은 특별한 태그로 변환되고있는 것입니다. 다음은 따옴표 및 기타 적절한 기호를 감지하여 적절한 HTML 코드로 변환 할 수있는 도우미 함수를 생성하는 데 도움을 줄 수있는 사이트입니다. 예를 들어

, 당신은이 "텍스트 영역 텍스트에, 당신은 "

에 여기에 도움이 웹 사이트가 있다고 변환 할 수 있습니다 발생하는 경우, 즉, 당신이 작동하지 않는 경우에도

http://www.learningmovabletype.com/a/000235display_code/ .. 견적을 타격 할 때 특수 문자를 탈출 시도 할 수 있습니다 다시 당신이 가진 것을 감지하는 도우미 함수를 작성하는 당신이 그렇게처럼 앞에 백 슬래시를 추가 : "-는 \>"

+1

이것은 답변이다 : questionText.setEscapeModelStrings (false). 도움을 주신 모든 분들께 감사드립니다. –

+0

@E Shindler - 이것을 적절한 대답으로 추가 한 다음 받아 들여야합니다. – ireddick