它是一种在 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模板语言 (FTL),并且要解析 XML 字符串,则需要将解析器作为工具放入模型中。在您的 Java 模型设置中,您将拥有如下内容:
model.put("parseXML", new XMLParserModel());
XMLParserModel
是您编写的扩展类TemplateModelEx
。您将实现一个exec
采用 a 的方法String
(它将采用一个列表,但您将获取第一个条目)并返回 aTemplateNodeModel
以及您的解析结果。在 FTL 中,它看起来像这样:
<#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 回答