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

场景描述:根据后台传入的值(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}); "

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1什么是JSTLJSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL...
    TY_阅读 450评论 0 1
  • 大家好,我是IT修真院上海分院第02期学员,一枚正直善良的java程序员。 今天给分享一下修真院java任务一中关...
    刻砺思阅读 1,133评论 0 0
  • 如何才能买得放心,用得安心?来看常见化妆品挑选方法,让你在家在外都能轻松检测。速速马了 彩妆 涂:先在手背或耳根上...
    雅芳亚阅读 370评论 0 0
  • 这两天又重读了《月亮与六便士》。这是我的习惯,对于那些深深打动过我的书我都把它们视为我的老朋友,时不时地抽空与他们...
    gl菲菲阅读 2,670评论 3 9
  • 因简书改版后无法添加扩展链接,20170322问题解析请到公众号查看,问题解析在公众号首发,公众号ID:wekno...
    weknow阅读 234评论 0 3

友情链接更多精彩内容