美文网首页
jstl el js灵活使用(三种方案处理页面逻辑)

jstl el js灵活使用(三种方案处理页面逻辑)

作者: seemoonup | 来源:发表于2016-11-07 00:11 被阅读628次

    场景描述:根据后台传入的值(value是否大于0)决定是否跳转(跳转地址vid-*)
    备注:*为后台传入的value


    .解决方案:
    第一种方案:jstl
    使用

    <c:choose> <c:when test="${value > 0}"> <a href="vid-${value}" class="photo" target="_blank"> href </a></c:when> <c:otherwise> <a href="javascript:void(0);" class="photo" target="_blank"> href </c:otherwise> </c:choose>

    使用jstl表达式来完成


    第二种方案:el表达式+三目运算符

    很显然使用第一种方式代码很臃肿,代码量太高
    所以考虑能否使用el表达式中的三目运算符来解决这个问题
    代码如下

    <a href="${value > 0 ? 'vid-'+value : ''}; "

    发现会报错 原因是三目运算符中不支持字符串的加减,只支持数字间的逻辑运算
    这样就比较尴尬了;


    第三种方案:将逻辑转移到js文件当中 将videoId传入js中进行处理判断

    js代码如下
    function redirectUrl(value){ if(value > 0) { window.location.href = "vid-"+value; } }
    jsp代码如下
    <a href="javascript:redirectUrl(${ value}); "

    使用这种方案就解决了第二种方法不能够处理的问题

    总结:有时候思路转变一下 就会得到一种比较合理的解决方案

    相关文章

      网友评论

          本文标题:jstl el js灵活使用(三种方案处理页面逻辑)

          本文链接:https://www.haomeiwen.com/subject/nfinuttx.html