0

Freemarker で Xml ノードを作成する方法はありますか? この Xml 要素からノード
<field type="select" value="country" name="country" >
を作成する方法はありますか? fieldfreemarker のドキュメントのどこにも見つかりませんでした。

4

2 に答える 2

2

Java にXML がありString、それを XML ノードとしてモデルに入れたい場合は、Freemarker のドキュメントでその方法を示します。

何らかの理由で、サンプル コードはファイルから読み取ります。から解析することもできますorg.xml.sax.InputSource。から開始する場合は、次のようにString作成できます。InputSource

new InputSource(new StringReader(xmlInString))

Freemarker Template Language (FTL) を使用していて、解析する XML 文字列がある場合は、パーサーをツールとしてモデルに組み込む必要がありますJava モデルの設定では、次のようになります。

model.put("parseXML", new XMLParserModel());

XMLParserModelを拡張して作成するクラスですTemplateModelEx。a を受け取り (リストを受け取りますが、最初のエントリを取得します)、解析結果とともにa を返すexecメソッドを実装します。FTL では、次のようになります。StringTemplateNodeModel

<#assign myXMLNode = parseXML(xmlString)>
于 2013-11-01T14:43:18.810 に答える
0

別のオプションは、jstl xml タグ ライブラリを使用することです。

<#assign x=JspTaglibs['http://java.sun.com/jsp/jstl/xml']/>
<#assign xmlString = '<doc>text</doc>'/>
<@x.parse var="xmlDoc" doc=xmlString/>
<#-- now process variable 'xmlDoc' using jsp or freemarker -->

于 2021-01-15T16:22:53.733 に答える