当freemarker中EL表达式的值为空时出现异常的解决方法

简介:  <#list pageView.list as msg>      <form name="msgForm" id="msgForm" action="findMsgById.do" method="post">   <tr class="tr3" onMouseOver="this.style.backgroundColor='whitesmok


<#list pageView.list as msg>
     <form name="msgForm" id="msgForm" action="findMsgById.do" method="post">
  <tr class="tr3" onMouseOver="this.style.backgroundColor='whitesmoke'"
          onMouseOut="this.style.backgroundColor='white'">
     <td align="center">
   <span class="style_blue_tableline">${msg_index+1} 
   </span>
     </td>
     <td align="center">
  <span class="style_blue_tableline">
      <a id="editmsg" name="editmsg"
   style="cursor:pointer;color:blue;text-decoration: underline">
  
修改
      </a>
  </span>
  <span class="style_blue_tableline">
      <a href="logicDelMsg.do?messageId=${msg.messageId}" >
删除
      </a>
  </span>
     </td>
     <input type="hidden" id="messageId" name="messageId" value="${msg.messageId}" />
     <td align="center">
  <span class="style_blue_tableline">${msg.title}nbsp;
  </span>
     </td>
     <td align="center">
  <span class="style_blue_tableline">${msg.messageContent} 
  </span>
     </td>
     <td align="center">
  <span class="style_blue_tableline">${msg.sendTime?string("yyyy-MM-dd HH:mm:ss")} 
  </span>
     </td>
     <td align="center">
  <span class="style_blue_tableline">${msg.sender} 
  </span>
      </td>
      
  </tr>
     </form>
</#list>



如以上所示,如果EL表达式中的值为空,则会报如下异常:

the expression msg.title is undefine ....



原因是:freemarker不像jsp那样,可以在页面上自动处理空值。

这时,应该将每个EL表达式改成如下:

${(msg.title)?default("")}

表示:如果这个值为空,则给一个默认值。

默认值可任意指定。

目录
相关文章
|
JSON JavaScript 数据格式
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
615 0
|
JavaScript 前端开发
JS之url进行编码和解码(三种方式)
JS之url进行编码和解码(三种方式)
19852 2
|
缓存 自然语言处理 Java
详解FreeMarker Template:在Spring Boot中实现动态内容生成
详解FreeMarker Template:在Spring Boot中实现动态内容生成
2173 13
|
消息中间件 Docker 容器
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
Docker中的RabbitMQ已经启动运行,但是管理界面打不开
1924 0
axios的get请求传入数组参数
axios的get请求传入数组参数
ly~
|
域名解析 网络协议 Linux
如何测试 DNS 记录中的反向代理服务器是否生效?
本文介绍了三种测试反向代理服务器配置的方法。首先,通过命令行工具如 `ping`、`nslookup` 和 `dig` 检查域名解析是否指向正确的 IP 地址。其次,利用 Web 浏览器访问域名,验证页面加载正常且请求头信息无误。最后,借助网络抓包工具如 `Wireshark` 和 `tcpdump` 分析数据包,确保请求正确转发并返回预期响应。
ly~
1109 2
|
缓存 NoSQL Java
Spring Cache之本地缓存注解@Cacheable,@CachePut,@CacheEvict使用
SpringCache不支持灵活的缓存时间和集群,适合数据量小的单机服务或对一致性要求不高的场景。`@EnableCaching`启用缓存。`@Cacheable`用于缓存方法返回值,`value`指定缓存名称,`key`定义缓存键,可按SpEL编写,`unless`决定是否不缓存空值。当在类上使用时,类内所有方法都支持缓存。`@CachePut`每次执行方法后都会更新缓存,而`@CacheEvict`用于清除缓存,支持按键清除或全部清除。Spring Cache结合Redis可支持集群环境。
1278 6
|
Java Spring
Spring Boot实战:静态资源无法访问
Spring Boot实战:静态资源无法访问
311 0
|
JSON Java fastjson
Spring Boot返回Json数据及数据封装
本文详细介绍了如何在Spring Boot项目中处理JSON数据的传输 Spring Boot默认使用Jackson作为JSON处理器,并通过`spring-boot-starter-web`依赖自动包含相关组件。文章还展示了如何配置Jackson处理null值,使其转换为空字符串。此外,文章比较了Jackson和FastJson的特点,并提供了FastJson的配置示例,展示了如何处理null值以适应不同应用场景。
|
存储 Java API
Spring Boot中的数据脱敏处理
Spring Boot中的数据脱敏处理