检查该freemarker语法是否有问题:${custname},${inbizFlag}${inValue?string(",##0.0#")}万(${buybizFlag}${buyValue?string(",##0.0#")}万、<#if (shenGouValue gte 0)>净申购<#else>净赎回</#if>${shenGouValue?abs?string(",##0.0#")}万),${shortname}
时间: 2023-11-01 20:56:50 浏览: 32
这段freemarker语法没有语法错误,是可以正常解析的。其中,`${custname}`、`${inbizFlag}`、`${inValue}`、`${buybizFlag}`、`${buyValue}`、`${shenGouValue}`和`${shortname}`都是变量,需要在程序中进行赋值。
`${inValue?string(",##0.0#")}`表示将`inValue`变量的值格式化为千分符的形式,保留一位小数。`${shenGouValue?abs?string(",##0.0#")}`表示将`shenGouValue`变量的绝对值格式化为千分符的形式,保留一位小数。
需要注意的是,使用千分符格式化的时候,需要在freemarker的模板引擎中进行配置,具体可以参考freemarker的官方文档。
相关问题
Freemarker语法中怎么为这个:${sys.getFormulaValue("排产数量")!""},去除取值的小数
为了去除`${sys.getFormulaValue("排产数量")!""}`中的小数部分,你可以使用Freemarker的内建函数`?int`或者`?string('#')`。
使用`?int`函数:
```
${sys.getFormulaValue("排产数量")?int}
```
使用`?string('#')`函数:
```
${sys.getFormulaValue("排产数量")?string('#')}
```
这两种方式都可以将`${sys.getFormulaValue("排产数量")}`的值转换为整数形式,并去除小数部分。选择其中一种方式根据你的需求来决定。
Freemarker模板 <#if 判断相等 ${field.propertyType!}
你的问题不太完整,不过我猜测你想问的是Freemarker模板中如何进行相等判断以及如何获取对象的属性类型。那么我来回答一下吧。
在Freemarker模板中,可以使用<#if>指令来进行判断,语法如下:
```
<#if condition>
...
<#elseif condition2>
...
<#else>
...
</#if>
```
其中,condition可以是任何表达式,如果表达式的值为true,则执行<#if>指令内部的代码块;如果表达式的值为false,则执行<#elseif>或<#else>指令内部的代码块。如果没有<#elseif>或<#else>指令,则<#if>指令结束。
如果你想判断某个对象的属性类型,可以使用?class属性,例如:
```
${field.propertyType?class}
```
这样就可以获取field对象的propertyType属性的类型了。需要注意的是,如果field对象为null,上述语句会抛出异常,因此最好加上null判断,例如:
```
<#if field.propertyType?has_content>
${field.propertyType?class}
</#if>
```
这样就可以避免NullPointerException了。