疏忽,也没有相应的总结。实际上JSTL标签Struts2标签混淆。导致一些上述问题的细节。今天我给从下一个总结,同

后不要再犯这种错误。

总喜欢在s:if标签里面使用$,导致各种数据读不出来。

strust 2 if 标签的单个字符字符串比較的问题;

还有就是啥时候用#,啥时候不用#,啥时候能够省略#。

代码1、

	<select id="typeProvider" name="typeProvider" style="width: 200px;">
<s:iterator value="providers" var="provider">
<option value="${provider.id}"
<s:if test="id==equipment.provider.id">selected="selected"</s:if> >${provider.name}
</option>
</s:iterator>
</select>

代码作用:跳转到改动资料页面时。下拉列表默认选中的为本设备所相应的供应商

equipment(本设备对象)、providers(全部供应商List)均有后台Action提供geter/setter方法。

这行代码(正确):

<s:if test="<span style="color:#33CC00;">id</span>==equipment.provider.id">selected="selected"</s:if> >${provider.name}

这个位置,总是写成(错误):

<s:if test="<span style="color:#FF0000;">provider.id</span> == equipment.provider.id">selected="selected"</s:if> >${provider.name}

后面发现能够这样写(也正确):

<s:if test="<span style="color:#33CC00;">#provider.id</span>==equipment.provider.id">selected="selected"</s:if> >${provider.name}

事实上原理还真是不怎么清楚。仅仅知道假设action中假设声明了变量,并赋之以set,get方法,那么接收參数是不须要使用#,假如就是普通的request传递,则须要用#。哪位大神假设知晓。希望可以指点一二。

代码2、

<span style="font-size:14px;">	<s:iterator value="equipmentList" var="equipment" status="status">
<tr style="height: 25px; text-align: center;">
<td><s:property value="#status.index+1"/></td>
<td>${equipment.terorder}</td>
<td>${equipment.tertype}</td>
<td>${equipment.provider.name}</td>
<td>
<s:if test="#equipment.isuser==1">
启用
</s:if>
<s:if test="isuser == 0">
禁用
</s:if>
</td>
<td>${equipment.opercard}</td>
<td>${equipment.bizcard}</td>
</tr>
</s:iterator></span>

还是得说说这个,只是却还要其它问题,代码例如以下(正确):(注意此时的tm_onlinestatus为String类型)

	<s:if test="%{#items.tm_onlinestatus == 1}">
<span style="color:blue">在线</span>
</s:if>
<s:if test="%{#items.tm_onlinestatus == 0}">
<span style="color:red">下线</span>
</s:if>

只是这样写就不正确啦(错误)!

<span style="font-size:14px;">	<s:if test="%{#items.tm_onlinestatus == <span style="color:#FF0000;">'1'</span>}">
<span style="color:blue">在线</span>
</s:if>
<s:if test="%{#items.tm_onlinestatus == <span style="color:#FF0000;">'0'</span>}">
<span style="color:red">下线</span>
</s:if></span>

还要一种写法。预计更easy理解(正确):

<span style="font-size:14px;">	<s:if test='%{#items.tm_onlinestatus ==  <span style="color:#33CC00;">"1"</span>}'>
<span style="color:blue">在线</span>
</s:if>
<s:if test='%{#items.tm_onlinestatus == <span style="color:#33CC00;">"0"</span>}'>
<span style="color:red">下线</span>
</s:if></span>

这里的话:因为java这是一个强类型语言,单引号char类型,它只能被分配给一个字符char类型,双引号表示String类型,因为tm_onlinestatus房地产是String类型,使用双引号是必要的。那么,为什么不能直接 == 1 这种情况是不是很清楚。同样希望指点一二。

struts 2吊牌s:if 、s:iterator注意的更多相关文章

  1. vue实现带logo的二维码/商品条形码/打印商品吊牌

    一.带logo的二维码 1.安装 npm install vue-qr --save 2.在页面或组件中使用 <template> <div id="qrcode" ...

  2. struts1吊牌&lt;logic:iterate&gt;

    <logic:iterate>主要用于处理网页上的输出集合,集合是其中一般下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体使用方法请參考 ...

  3. Hibernate和Struts分页查询

    分页查询数据库方法 /** * 分页查询方法 * @param sql,pageNO,maxResult * @return List */ public List<Object> que ...

  4. C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】

    原文地址:http://blog.csdn.net/ldljlq/article/details/7338772 在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇 ...

  5. SaaS系列介绍之三: SaaS的特性与作用

    1 SaaS的特性 最早的SaaS服务之一当属在线电子邮箱,极大地降低了个人与企业使用电子邮件的门槛,进而改变了人与人.企业与企业之间的沟通方式.发展至今,SaaS服务的种类与产品已经非常丰富,面向个 ...

  6. 浅谈RFID电子标签封装技术

    1RFID技术概述 1.1RFID技术概念 RFID是RadioFrequencyIdentification的缩写,即射频识别技术,俗称电子标签.RFID射频识别是一种非接触式的自动识别技术,它通过 ...

  7. 绫致时装讲述O2O细节:野心在“私人定制” - 移动购物 - 亿邦动力网

    绫致时装讲述O2O细节:野心在"私人定制" - 移动购物 - 亿邦动力网 绫致时装讲述O2O细节:野心在"私人定制" 作者: 亿邦动力网来源: 亿邦动力网201 ...

  8. Excel—工作常用

    上周起始日期 =TODAY()-WEEKDAY(TODAY(),2)-6 TODAY()表示的是当天的日期,WEEKDAY(TODAY(),2)表示本周的星期几,TODAY()-WEEKDAY(TOD ...

  9. 面试题:电梯/雨伞/杯子/笔/A4纸/纸杯… 怎么测试?

    目的 面试的时候,面试官出题可能会出其不意: 比如随意指定生活当中的一件物品,问你如何测试,见下 作为测试人员,电梯/雨伞/杯子/笔/A4纸/纸杯… 怎么测试? 面试官的考察点 1.在没有需求文档或者 ...

随机推荐

  1. C-最长回文子串(1)

    最长回文子串,就是在字符串中找到最长的对称的子串. s是一个字符串. int max = 0; for(i = 0;i<m;i++) for(j = i;j<m;j++) if(s[i.. ...

  2. SVN的trunk、branch、tag(二)

    转——简单的对比 SVN的工作机制在某种程度上就像一颗正在生长的树: 一颗有树干和许多分支的树 分支从树干生长出来,并且细的分支从相对较粗的树干中长出 一棵树可以只有树干没有分支(但是这种情况不会持续 ...

  3. hdu 2546 饭卡 01背包

    先将前n-1个从小到大排序.对m-5进行01背包.然后答案就是m-dp[m-5]-a[n-1] 至于为什么最后减去最贵的菜品,而不是把最贵的菜品也放到01背包里呢, 由于假设能够把最贵菜品a[n-1] ...

  4. SQL Server 存储过程、触发器、游标

    存储过程 1.存储过程是事先编好的.存储在数据库中的程序,这些程序用来完成对数据库的指定操作. 2.系统存储过程: SQL Server本身提供了一些存储过程,用于管理有关数据库和用户的信息. 用户存 ...

  5. PHP - 概述

    第1章 PHP概述 学习要点: 1.PHP基础知识 2.PHP的环境配置 3.安装三款主流程序 4.PHP开发工具的选择 5.一个简单的示例 一.PHP基础知识 PHP PHP是一种目前最流行的服务端 ...

  6. 阿里云CentOS配置iptables防火墙[转]

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...

  7. code blocks 快捷键

    设置快捷键可以在setting-Editor-keyboard shortcuts里设置 ==日常编辑== • 按住Ctrl滚滚轮,代码的字体会随你心意变大变小.• 在编辑区按住右键可拖动代码,省去拉 ...

  8. WCF技术剖析之十六:数据契约的等效性和版本控制

    原文:WCF技术剖析之十六:数据契约的等效性和版本控制 数据契约是对用于交换的数据结构的描述,是数据序列化和反序列化的依据.在一个WCF应用中,客户端和服务端必须通过等效的数据契约方能进行有效的数据交 ...

  9. 如何捕获winform程序全局异常?(续)

    前言 上篇文章我提供了一种方案可以供我们捕获单线程程序中的所有未处理异常.但是如果程序是多线程,那么新增线程出现了异常上个方案就无能为力了.本着方案总比问题多的态度,我再给大家提供一种新的方案,供大家 ...

  10. GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛

    GAE+bottle+jinja2+beaker快速开发demo - Python,GAE - language - ITeye论坛     :GAE+bottle+jinja2+beaker快速开发 ...