论坛首页 入门技术论坛

jstl <c:if />标签我蛋疼了...

浏览 13536 次
该帖已经被评为新手帖
作者 正文
   发表时间:2012-03-31  
在使用jstl的 if 标签做判断,出现比较蛋疼的问题了。
为什么判断不行?
[code "java"]
<c:forEach var="customer" items="${customerLists}">
${customer.cusType}
${customer.cusType == '1'}
${customer.cusType == '2'}
<c:if test="${customer.cusType == '1'}">供应商</c:if>
<c:if test="${customer.cusType == '2'}">客户</c:if>
</c:forEach>


下面是jsp显示的结果:
1 false false
2 false false

小弟不知道哪里写错了还是怎么样了。各位也小看小看一下。
(不用说换成struts标签哦)
  • 大小: 11.2 KB
   发表时间:2012-03-31  
怎么没人回答呀....
自己一下,再没有回答,我就真的去修改数据库类型了,直接存名字进库了
0 请登录后投票
   发表时间:2012-03-31  
${customer.cusType eq '1'}
0 请登录后投票
   发表时间:2012-03-31  
把单引号去掉

"${customer.cusType == '1'}

改成

"${customer.cusType == 1}

有时jstl会做一个数据转换
0 请登录后投票
   发表时间:2012-03-31  
thedeath_vip 写道
${customer.cusType eq '1'}

正解
0 请登录后投票
   发表时间:2012-03-31  
又是你   这头像。
0 请登录后投票
   发表时间:2012-03-31  
苍老师怎么转行了!
0 请登录后投票
   发表时间:2012-03-31  
thedeath_vip 写道
${customer.cusType eq '1'}

正解
0 请登录后投票
   发表时间:2012-03-31  
别正解正解了,动手试了一下:
<%
    int a = 1;
    pageContext.setAttribute("a",a);

    String b = "1";
    pageContext.setAttribute("b",b);
%>
${a eq '1' } &lt;==&gt; ${a eq 1 }<br/>
${a == '1' } &lt;==&gt; ${a == 1 }<br/>
${b eq '1' } &lt;==&gt; ${b eq 1 }<br/>
${b == '1' } &lt;==&gt; ${b == 1 }<br/>
这段代码全部为 true
0 请登录后投票
   发表时间:2012-03-31  
数据库字段cusType是char(2),读出来的cusType就带有1个空格,if标签判定是不等的,楼主是不是这个问题
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics