最近用到freeMarker, 也用到了布尔值,看到一篇文章中这样描述:
在后台逻辑里,定义了布尔类型的变量 将该变量放进ModelMap model Boolean isAct = false; model.addAttribute("isACt", isAct); 在前端页面读取该值: var isAct = $('#isAct').val(); [#if isAct == false] 判断时是以 字符串 的形式来判断的
“判断时是以 字符串 的形式来判断的”,这种理解是不对的,至少这种说法表述有问题。
我们可以看到:
是通过内建函数“?string ("true","false")”将其转换为了字符串,所以判断的时候需要以字符串的形式来判断。
但是写法又有问题,应该是:
<#if isAct == "false">something而直接从实体类中取是怎么用的呢?
比如实体类中的定义:
public class Column { /** * True if the column is nullable */ private final boolean _isNullable;
/** * Gets the Nullable attribute of the Column object * * @return The Nullable value */ public final boolean isNullable() { return _isNullable; } }
而在使用的时候应该是这样的:
<#if column.nullable == true>something
或者:
<#if column.nullable>something