You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入metro4的JS库后JSP无法编译,不使用CDN如何解决?

问题根本原因

你使用JSP静态包含指令<%@include %>直接将metro.js的源码嵌入到JSP页面的<script>标签中,而metro.js的源码内包含<%这类和JSP语法标记完全一致的字符,JSP编译器会将这些字符误识别为JSP脚本的起始标记,最终导致JSP编译失败。

本地部署无需CDN的解决方案

不要用包含指令直接嵌入静态资源内容,改为使用标准的HTML资源引用语法,直接指向你本地服务端的静态资源路径即可,修改后的对应代码如下:

  1. 替换CSS引入方式
    原来的嵌套include的style标签完全不需要,直接用link标签引入本地CSS:
<link rel="stylesheet" type="text/css" href="/assets/css/metro.min.css">
  1. 替换JS引入方式
    删除script标签内部的include指令,改为用src属性引用本地JS文件:
<script type="text/javascript" src="/assets/js/libs/jquery/3.6.0/jquery-3.6.0.slim.min.js"></script>
<script type="text/javascript" src="/assets/js/libs/metro4/metro.js"></script>

方案说明

这种引用方式是让浏览器独立请求对应的静态资源,不会将JS、CSS的源码嵌入到JSP的编译内容中,从根源避免了JS语法和JSP语法的冲突问题,全程使用你本地部署的静态资源,不需要依赖任何外部CDN。

内容的提问来源于stack exchange,提问作者Jobert Costan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:15:03