今天帮忙改错时,遇到如下代码:

<s:iterator value="#session.carsSales" var="b" status="s">    <tr>       <td>${s.count}</td>      <td>${b.number}</td>     <td>${b.insName}</td>        <td>${b.time}</td>       <td>           <s:if test="${b.state==1}">待处理</s:if>           <s:else>已处理</s:else>     </td>  </tr></s:iterator>   

希望第五列根据条件判断的结果显示“待处理”或“已处理”,但是其他数据均可正常展示,唯独处理状态无法呈现。

造成此问题的原因是没有分清EL表达式和OGNL表达式的用法。
在JSP页面中默认支持EL表达式,但是如果在struts2 的标签中使用表达式则默认是OGNL表达式。
出错的位置是:
<s:if test="${b.state==1}">待处理</s:if>

此处使用了:

${b.state==1}

作者不经意间错用为EL表达式,造成struts2标签无法正常识别,因此默认不处理,所以页面中没有呈现预期的“待处理”或“已处理”数据。

正确改法:
<s:if test="#b.state==1">待处理</s:if>

通过“#”,可以成功引用“b”对象的属性“state”,此处“b”是<s:if>标签的父级标签<s:iterator>在迭代集合“#session.carsSales”时,临时创建的用于获取当前对象,如果在非struts2标签中应用对象b,可以通过EL表达式调用,服务器容器可以成功解析;如果在struts2标签中则需要使用OGNL表达式,因此须遵守OGNL表达式语法使用“#”引用。

关于使用OGNL表达式的技巧,可以辅助<s:debug>标签快速查看。
错误源码截图如下:
本文地址:http://lemmata.blog.163.com/blog/static/26860603320161122842488/

s:if test标签出错,内容不显示相关推荐

  1. html中td内容不换行显示,html小技巧之td,div标签里内容不换行

    html小技巧之td,div标签里内容不换行 在一些页面开发中,除自己操作外,引起换行的情况一般有: Ex一.td标签里内容长度过长引起换行: Ex二.div标签(或其他标记)里内容有文本和图片引起换 ...

  2. jsp tag 自定义标签实现按钮的显示

    前些天在一个项目中做了一个最基本的权限管理(标准的权限结构,用户-角色-菜单),后来需要精确地控制到按钮就想到了使用自定义标签(jsp tag)来处理按钮的显示与隐藏. 下面是我参考网上的资料自己写的 ...

  3. CAD制图软件中CAD布局视口内容不显示怎么办?

    有些人在使用浩辰CAD制图软件布局时延续了模型空间的使用方法,只利用视口来排图,因此就会出现由于一个CAD布局中有过多视口而导致一些视口内容不显示的状况.在浩辰CAD制图软件中CAD布局空间能同时显示 ...

  4. 修改html不显示内容,记录网友修改网页导致文章内容不显示的问题

    一个网友联系老蒋,自己的网站在之前修改模板添加广告的,但是不清楚什么问题导致目前网站首页能正常打开,但是内容页只能显示标题,内容是无法打开的.而且这个问题其实在十几天前有修改过页面,自己后来都没有动过 ...

  5. android+显示html内容居中显示图片,Android开发中对HTML内容的显示

    摘 要 随着Android科技的发展,手机客户端接受了更多的HTML内容.本文作者采用WebView直接显示法结合人机 >> Android开发中的主题设置研究 线程在Android开发中 ...

  6. java标签里内容的大小_如何在Java的Frame中设置标签(label )字体大小?

    匿名用户 3级 2011-05-08 回答 import java.awt.Font; import javax.swing.ImageIcon; import javax.swing.JFrame; ...

  7. 可编辑属性html,设置contenteditable属性可编辑HTML标签的内容(可代替textarea)

    摘要:这篇HTML栏目下的"设置contenteditable属性可编辑HTML标签的内容(可代替textarea)",介绍的技术点是"contenteditable.t ...

  8. echarts x轴文字个数太多_echarts x轴标签文字过多导致显示不全,最有效的3种解决方法...

    echarts x轴标签文字过多导致显示不全,只是我之前在csdn发表过,经过实践,效果不错! 如图: 办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用 ...

  9. pandas读取多个文件内容为dataframe、并合并为一个dataframe、pandas创建仅有列标签而内容为空的dataframe

    pandas读取多个文件内容为dataframe.并合并为一个dataframe.pandas创建仅有列标签而内容为空的dataframe 目录

最新文章

  1. 北大校友“炼丹”分享:OpenAI如何训练千亿级模型?
  2. mac 安装 RabbitMQ
  3. python【力扣LeetCode算法题库】面试题 08.11- 硬币
  4. Completed Subscribe to Platform Events
  5. LINUX 使用tcgetattr函数与tcsetattr函数控制终端三
  6. SAP FBCJ现金日记帐增强操作手册
  7. C# 将PowerPoint文件转换成PDF文件
  8. 航空企业如何用「AI利器」提升乘客体验
  9. linux下的c编程
  10. React Native的键盘遮挡问题(input/webview里)
  11. sendRedirec forward
  12. 大学计算机专业绩点在3.5算好,大学绩点3.5算什么水平 绩点低有哪些补救方法...
  13. 【网络安全】考试试卷十一
  14. python入门到精通 _6文件读写
  15. freeswitch呼叫中心之百度MRCP语音合成识别环境搭建
  16. 学生专用计算机游戏怎么按,学生计算器怎么玩
  17. ​【技术】机器视觉技术原理解析及应用领域
  18. 基本放大器电路- (一)
  19. 程序员笔试题---国信证券
  20. 无创血糖检测技术研究进展

热门文章

  1. 2021-03-14我的博客
  2. 深度揭秘:到底什么是“授时”
  3. win10 无法删除 注册表 蓝牙_Win10蓝牙无法删除设备蓝牙鼠标无法连接解决方法...
  4. Vue 解决兄弟组件之间传值问题
  5. Windows下获取计算机名和当前用户名
  6. 在启动MYSQL时出现问题:“ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)”
  7. 7-1 验证哥德巴赫猜想
  8. Java面向对象期末备考
  9. 支付宝沙箱开启以及配置
  10. 农用地包括哪些地类_农用地、基本农田、建设用地,不同类型的土地性质要怎么利用...