2

Wicket で Java ファイルから HTML コードを動的に追加する方法に取り組んでいます。Web ページに複数の
リンクがありますが、リンクごとに個別のページをデザインしたくありません。
既存の HTML コードを Java ファイルから動的 に追加したいだけです。

この目的のために、次のコードを使用しました。

public class DynamicHtml extends Panel{

public DynamicHtml(String id) 
{
    super(id);
    // TODO Auto-generated constructor stub

    String dynamicHtml = createDynamicHtml("divIdName");
    Label divLabel = new Label("divLabel",dynamicHtml );
    divLabel.setEscapeModelStrings(false);
    add(divLabel);
}

private String createDynamicHtml(String div_id) 
{
    // TODO Auto-generated method stub

    StringBuilder divSB = new StringBuilder(512);
    divSB.append("<div id=\"");
    divSB.append(div_id);
    divSB.append("\"></div>");

    return divSB.toString(); 
}

}

HTML コード:

<wicket:panel>
    <span wicket:id="divLabel"></span>
</wicket:panel>  

しかし、上記のコードで既存のhtmlコード、つまり「divIdName」を渡す方法を理解できません。
アドバイスやガイドラインや参考文献を教えてください。
前もって感謝します。

4

1 に答える 1

2

わからない、どの部分が期待どおりに機能していないかはわかりませんが、通常は使用する必要があります

<wicket:panel>
    <wicket:container wicket:id="divLabel" />
</wicket:panel>

したがって、コードは有効なXHTMLを生成します。

それ以外に、マークアップを動的に置き換える場合getMarkup()は、Panelのメソッドをオーバーライドする必要があります。JavaDocを参照してください

于 2012-11-05T09:38:53.320 に答える