我正在使用Groovy的xml模板功能。下面是我的模板和装订。有时候我对LastName没有任何价值。如果它没有非空数据,我想groovy不创建元素。有人可以建议怎么做吗?
模板
<PersonName nameIdentifier="Current">
<FirstName>${FirstName}</FirstName>
<LastName>${LastName}</LastName>
</PersonName>
装订
def binding1 = ['FirstName':FirstName ,'LastName':'LastName']
def binding2 = ['FirstName':FirstName ,'LastName':'']
代码
public static String createXml(String templateResourceName, def bindings)
{
def engine = new XmlTemplateEngine()
def output = engine.createTemplate(getResource(templateResourceName)).make(bindings)
return output.toString()
}
答案 0 :(得分:2)
我认为这可行:
<% print LastName != null ? "<LastName>"+LastName+"</LastName>" : "" %>
但这是我第一次听说这个功能,所以如果确实如此,这将是一个幸运的猜测......
编辑:在Groovy Web控制台上尝试了一下 - 这应该可行:
def text = '<PersonName nameIdentifier="Current">\n<FirstName>${FirstName}</FirstName>\n<% print LastName != "" ? "<LastName>"+LastName+"</LastName>\\n" : "" %></PersonName>'