【发布时间】:2012-03-15 01:41:26
【问题描述】:
我想用freemarker生成一些java代码,也就是为一个方法生成参数。假设我有一个名为doIt的方法,它需要一些参数名和它们的类名,我会给模板一个名为paramList的参数。我定义了一个宏指令,迭代参数列表,但因此每个参数占据一行。我的模板代码如下:
<#macro paramList plist>
<#if plist??>
<#list plist as p>
${p.javaType?substring(2)} ${p.name} <#if p_has_next>, </#if>
</#list>
</#if>
</#macro>
doIt(<@paramList plist=params/>)
运行结果是:
doIt( int end ,
String endDate ,
String evtCode ,
int evtNo ,
String giftCode ,
int start ,
String startDate
)
如何让输出的所有参数出现在同一行。我知道我可以将列表指令逻辑写在同一行以避免换行,但如果还有其他逻辑,一段时间后阅读和理解就会变得太长。 我想要的格式是:
doIt(int end , String endDate, String evtCode , int evtNo , String giftCode , int start , String startDate)
【问题讨论】:
标签: freemarker