如何在同一行中生成迭代输出?

use*_*111 3 freemarker

我想用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/>)
Run Code Online (Sandbox Code Playgroud)

运行结果是:

doIt(           int end , 
           String endDate , 
           String evtCode , 
           int evtNo , 
           String giftCode , 
           int start , 
           String startDate 
)
Run Code Online (Sandbox Code Playgroud)

如何使所有参数输出出现在同一行中.我知道我可以在同一行写入list指令逻辑以避免换行,但是如果还有其他逻辑,那么一段时间后读取和理解会花费太长时间.我想要的格式是:

doIt(int end , String endDate, String evtCode , int evtNo , String giftCode , int start , String startDate)
Run Code Online (Sandbox Code Playgroud)