最近用到freeMarker, 也用到了布尔值,看到一篇文章中这样描述:
在后台逻辑里,定义了布尔类型的变量
将该变量放进ModelMap model
Boolean isAct = false;
model.addAttribute("isACt", isAct);
在前端页面读取该值:
<input type="text" id="isAct" value="${isAct?string ("true","false")}">
var isAct = $('#isAct').val();
[#if isAct == false]
判断时是以 字符串 的形式来判断的“判断时是以 字符串 的形式来判断的”,这种理解是不对的,至少这种说法表述有问题。
我们可以看到:
<input type="text" id="isAct" value="${isAct?string ("true","false")}">是通过内建函数“?string ("true","false")”将其转换为了字符串,所以判断的时候需要以字符串的形式来判断。
但是写法又有问题,应该是:
<#if isAct == "false">something</#if>而直接从实体类中取是怎么用的呢?
比如实体类中的定义:
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>或者:
<#if column.nullable>something</#if>
这篇博客探讨了在FreeMarker中如何正确处理布尔值。通常,人们误解FreeMarker中的布尔值判断是以字符串形式进行的,但实际上,应使用内建函数`?string("true","false")`将其转换为字符串。正确的写法被提出,同时提出了直接从实体类获取布尔值的方法。"
83789360,4913193,使用PyInstaller打包Python Selenium脚本到exe,"['Python开发', '自动化测试', '脚本打包', 'Windows应用']
697

被折叠的 条评论
为什么被折叠?



