​Roader​ 2023-10-28 10:05 采纳率: 38.5%
浏览 17
已结题

JSP页面${}和Layui冲突,导致layui弹窗失败

JSP页面引入Layui冲突,导致layui弹窗失败
导致弹窗失败的代码

<span id="${MainMenu.menuid}">
         ${MainMenu.showname}
 </span>

去掉 ${MainMenu.showname}这个就可以正常弹窗,考虑是${}的问题,不知道如何解决
在 ${MainMenu.showname}存在的情况下控制台也没有报错。
layui组件代码

    <script>
        layui.layer.confirm('您是如何看待前端开发?', {
            btn: ['重要','奇葩'] //按钮
        }, function(){
            layer.msg('的确很重要', {icon: 1});
        }, function(){
            layer.msg('也可以这样', {
                time: 20000, //20s后自动关闭
                btn: ['明白了', '知道了']
            });
        });
    </script>

大家的办法都尝试了好多,都有些问题有没有推荐的可以兼容IE8的右下角弹窗的插件推荐

  • 写回答

10条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2023-10-28 10:05
    关注

    引自强大而免费的微信小程序:皆我百晓生

    这个问题可能是由于${MainMenu.showname}中的特殊字符导致的。在JSP中,${}用于展示变量的值,如果变量的值中包含特殊字符(如引号),可能会导致代码解析错误。

    您可以尝试使用JSTL的<c:out>标签来对变量进行输出,该标签会自动转义特殊字符,例如:

    <span id="${MainMenu.menuid}">
        <c:out value="${MainMenu.showname}"/>
    </span>
    

    这样应该能解决冲突问题,让layui的弹窗正常显示。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月28日
  • 修改了问题 10月28日
  • 修改了问题 10月28日
  • 创建了问题 10月28日