0

JEditorPaneおよび HTMLDocumentクラスを使用して HTML をレンダリングするスイング クライアントがあります。

私が抱えている問題は、ドキュメントの領域を、後日取得されるテキストのコンテナーとして定義 document.setInnerHTML(element, data);し、プレースホルダーのコンテンツを「実際の」コンテンツと交換するために使用できるようにしたいことです。 .

そこで、次のようなタグを定義することにしました。

<html>
<body>
some text <mytag id="1>placeholder</mytag> some more text
</body>
</html>

私が使用すると問題が発生しdocument.getElement(String id)ます-mytagを要素として見つけますが、それはコンテンツを持たないリーフ要素であると考えているため、.setInner()を呼び出すことができません。要素の親リストを見ると、3 つあると考えられます - 私のタグは個々のコンポーネントとして解釈されました:

mytag (開始)
content
mytag (終了)

したがって、ドキュメント (またはパーサー) に自分のタグについて伝える必要があると推測していますが、この分野にはかなり慣れていないため、ここでうまくいきません。

それで、誰かがこれについて何か経験したことがありますか?span タグをごまかして使用することもできますが、(簡潔にするために除外します) タグに対して追加の属性も格納する必要があるため、それは適切ではありません。

お時間をいただきありがとうございます...

4

3 に答える 3

0

http://java-sl.com/custom_tag_html_kit.html これは、カスタム タグを追加する方法を示しています。これを使用して、独自のタグ サポートを作成できます。

于 2010-03-25T11:17:10.880 に答える