我正在使用Thymeleaf模板发送电子邮件。我有一个模板:
My name is ${name}
如果name
为空或null
,我不想发送电子邮件。是否有任何可以设置的Thymeleaf属性会产生错误并且不会发送邮件?因为在没有价值的电子邮件中发送“我的名字”是没有任何意义的。
我从Thymeleaf上下文中获取所有值,变量可能是不同的类型,如List
,Map
等。我也尝试了以下内容,但它没有解决我的问题,因为一个对象总是可用的:
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
}
}
答案 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}})和""
字符串