2013-06-05 3 views
1

제 경우에는 텍스트 메시지가 생성 된 dojo 위젯이 있습니다.
메시지 텍스트는 <b>, <i> 태그 등의 서식이 지정된 텍스트입니다. ${messageText}을 통해 위젯에 넣으면 일반 텍스트 그대로 표시됩니다.HTML은 dojo 위젯에 일반 텍스트로 표시됩니다.

내 위젯이 DOM 노드에 모든 태그를 구문 분석하도록 만드는 방법은 무엇입니까?

.jsp로 조각이 UPD :

<script> 
(new MyWidget({ 
    text: "<b>message</b>" 
}).placeAt(dojo.byId("placeWidgetHere"); 
</script> 

<div id="placeWidgetHere"></div> 

위젯 .html 중에서 템플릿 :

대신 (권장되지 않는) substitution variables를 사용
<div>${text}</div> 
+1

다른 문제가 있다고 생각합니다. HTML 위젯을 작성하여 Dojo (1.9)를 테스트하고 HTML 태그를 사용할 수 있습니다. 예 : http://jsfiddle.net/tLqWd/ – g00glen00b

+0

'parser.parse()'의 기능은 무엇입니까? – Chechulin

+0

'data-dojo-type'을 사용하는 HTML 코드를 위젯으로 변환합니다. 구성 옵션 인'parseOnLoad : true'와 비슷합니다. – g00glen00b

답변

0

문제가 messageText "<"를 가지며, ">"심볼 "<"및 ">"각각으로 변환한다는 것이다. messageText에 .replace(/&lt;/g, "<").replace(/&gt;/g, ">")을 추가했는데 제대로 작동하기 시작했습니다.

나를 도와 주신 모든 분들께 감사드립니다.

1

, 당신은 사용자 정의상의 attribute map을 사용할 수 있습니다 위젯.

<div> 
    <span data-dojo-attach-point="messageTextNode"></span> 
</div> 


declare('MyWidget'], [TemplatedMixin], { 
    template: ..., 

    messageText: '', 
    _setMessageTextAttr: { node: "messageTextNode", type: "innerHTML" }, 
}); 

new MyWidget({ 
    messageText: "<b>message</b>" 
}, "placeWidgetHere"); 
+0

'_setMessageTextAttr'은 무엇입니까? – Chechulin

+0

'_setXXXAttr'은 위젯에 대해 '_setXXXAttr'이라는 메서드가 존재하면 위젯이 XXX이라는 속성으로 인스턴스화 될 때 위젯에 대한 명명 규칙입니다. 그렇지 않으면 XXX 값이 위젯에 직접 설정됩니다. http://dojotoolkit.org/reference-guide/1.8/quickstart/writingWidgets.html#custom-setters-getters –

관련 문제