Freemarker で Xml ノードを作成する方法はありますか? この Xml 要素からノード
<field type="select" value="country" name="country" >
を作成する方法はありますか? field
freemarker のドキュメントのどこにも見つかりませんでした。
1993 次
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 では、次のようになります。String
TemplateNodeModel
<#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 に答える