javascript - 如何在 Spring WebMVC 框架的 JSP 文件中包含外部 JS 文件?
问题描述
我一直在谷歌上搜索,但找不到任何有用的东西......我的 JS 文件与 WEB-INF 的文件处于同一级别......任何帮助将不胜感激......
下面是我用来在 JSP 中包含我的 JS 文件的代码:-
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.18.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/formValidation.js"></script>
下面的代码在 web.xml 中:-
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</context-param>
以下代码在 dispatcher-servlet.xml 文件中:-
<context:component-scan base-package="com.programcreek.helloworld.controller" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
解决方案
您可能需要添加ResourceHandler
以解析您的静态资源,例如js/css
目录
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
.addResourceHandler("/js/**")
.addResourceLocations("/js/")
.setCachePeriod(3600)
.resourceChain(true)
.addResolver(new PathResourceResolver());
}
该方法适用于java配置类extends WebMvcConfigurerAdapter
xml
版本应该是这样的
<mvc:resources mapping="/js/**" location="/js/"/>
这将解析目录下的任何.js
文件,在文件/webapp/js/
中使用类似下面的内容.jsp
<script src="js/custom.js"></script>
推荐阅读
- c# - UTF-8 产生问号
- python - Python 3 中的异步 for 循环
- tensorflow - 将 tf.map_fn 与多个 GPU 一起使用
- firebase - 带有 Firebase 云函数错误的 SendGrid:“套接字挂起”
- ruby-on-rails - 带有 Puma 和 Nginx 配置的调试操作电缆
- android - 使用 Android Navigation Arch 组件 (JetPack) 打开相机/图库
- azure - 用于创建 Blob 的 Azure 事件触发函数
- spring-tool-suite - 无法将项目放入开发服务器
- javascript - Javascript 不适用于 cURL 或 Bat 文件。有什么想法吗?
- php - 如何以 PHP 形式实现 Google Recaptcha v3?