Hybris下zul页面script标签加载js报net::ERR_ABORTED 500错误如何解决
问题原因
script标签语法不规范:HTML标准要求<script>标签必须使用显式闭合标签,不能使用自闭合格式<script .../>,错误的标签写法会导致服务端页面解析失败,抛出500错误。- 静态资源路径不匹配:
${wr}是Hybris widget的内置变量,指向当前widget的web资源根目录,若你的graphConfiguration.js没有放在widget的web目录的一级路径下,或者wr变量未正常注入,会导致服务端无法定位目标资源返回500。 - 资源访问权限未放行:Hybris默认会拦截未配置放行规则的静态资源请求,若你没有为自定义widget的js资源配置访问权限,请求会被服务端拦截返回500错误。
解决步骤
- 修正script标签写法,替换为标准闭合格式:
<html> <h:head> <script defer="true" type="text/javascript" src="${wr}/graphConfiguration.js"></script> </h:head> </html>
- 核对资源路径:确认
graphConfiguration.js存放在当前widget的web根目录下,若存放在web/js之类的子目录中,需要补全路径为${wr}/js/graphConfiguration.js,同时确认页面中wr变量已正常初始化。 - 配置静态资源放行规则:
若使用web.xml配置,添加如下配置:
若使用Spring MVC配置,添加如下资源映射:<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping>@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/widgets/**/*.js") .addResourceLocations("classpath:/widgets/"); } - 验证效果:修改完成后清理Hybris服务缓存,重启服务后访问页面测试。如果仍然报错,可以查看Hybris服务端日志的异常栈信息,定位具体错误原因。
内容的提问来源于stack exchange,提问作者codesenpai_
相关产品推荐
相关产品推荐

