Thymeleaf空值检查

时间:2017-05-01 18:46:02

标签: java email thymeleaf

我正在使用Thymeleaf模板发送电子邮件。我有一个模板:

My name is ${name}

如果name为空或null,我不想发送电子邮件。是否有任何可以设置的Thymeleaf属性会产生错误并且不会发送邮件?因为在没有价值的电子邮件中发送“我的名字”是没有任何意义的。

我从Thymeleaf上下文中获取所有值,变量可能是不同的类型,如ListMap等。我也尝试了以下内容,但它没有解决我的问题,因为一个对象总是可用的:

HashMap<String,Object> allVar = ctx.getVariables();
boolean isVAlid;

for(HashMap.Entry<String, Object> entry : allVar.entrySet()){
    logger.info("[ESUB2.0] key and Value" + entry.getKey() + "Value" + entry.getValue());
    if(entry.getValue()==null){
       logger.info("[ESUB2.0] Null check ")
       isVAlid = true
    }
}

1 个答案:

答案 0 :(得分:1)

在您的代码中,只需将isVAlid = true替换为isVAlid = false,因为如果值为null,则无效:

HashMap<String,Object> allVar = ctx.getVariables();
boolean isVAlid;
for(HashMap.Entry<String, Object> entry : allVar.entrySet()){
    logger.info("[ESUB2.0] key and Value" + entry.getKey() + "Value" + entry.getValue());
    if(entry.getValue()==null){
        logger.info("[ESUB2.0] Null check ");
        isVAlid = false;
    }
}

entry.getValue()==null StringUtils.isEmpty()替换为org.apache.commons.lang空{({1}})和""字符串