开发者社区> 问答> 正文

关于jsp<c:if test标签对比字符串问题?报错

content+="<c:set var='it'   value='"+i+"'/>";

content+="<div class='db1'><c:forEach var='item' items='${list}' varStatus='status'>

<c:if test='${item.iDay==it}'>${item.count}</c:if>

</c:forEach></div>";

问题是这样的,我需要将item.iDay循环出的值与 it这个对象进行对比,但是提示类型不对,我直接将it在页面用

${it}打印出来是值是对的,比如 =1 ,但在<c:if test里面对比时提示出错 看报错  这是it的值被认为是:"+i+"

求大神解惑啊!急。。。要怎么写呢.




展开
收起
爱吃鱼的程序员 2020-06-22 18:36:09 546 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    没人回答么。。。救急啊有人站出来么,求抱大神大腿啊。。。。哎,没人么,算了,先不用循环,顶顶吧。。。

    你这样写错了

    js里是没法拼jsp标签字符串的 他直接执行了

    你可以自定义一个jsp标签来完成



    <spanstyle="color:#E56600;">content+="<c:setvar='it' value='"+i+"'/>";

    <spanstyle="background-color:#60D978;">content+="<divclass='db1'><c:forEachvar='item'items='${list}'varStatus='status'>

    <spanstyle="background-color:#60D978;"><c:iftest='${item.iDay==it}'>${item.count}</c:if>

    <spanstyle="background-color:#60D978;"></c:forEach></div>";

    你可以alert一下 <spanstyle="color:#E56600;">content看看 内容绝对不是你拼的字符串jsp标签直接运行了

    希望你能听懂==|



    <divclass='db1'><c:forEachvar='item'items='${list}'varStatus='status'>

    <c:iftest='${item.iDay==it}'>${item.count}</c:if>

    </c:forEach></div>

    这个写到jsp里面 it在后台赋值放到request里面

    <spanstyle="background-color:#60D978;">

    问题是,我这个it就是在前台取的啊。。放到后台的话也很麻烦,要做循环,我这个是为了实现日历安排的,对比是为了将后台list的值填入对应的日期格

    <spanstyle="font-family:MicrosoftYaHei;"><spanstyle="font-size:18px;">干嘛要把EL拼接成字符串。

    那你觉得用什么呢

    2020-06-22 18:36:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关课程

更多

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载