Spring MVC中提供静态资源的问题

时间:2014-01-02 17:22:06

标签: spring spring-mvc

我正在使用JQuery运行Spring应用程序。但是应用程序没有运行。调用JQuery函数后,应用程序无法正常工作。例如,请参阅下面的图片,alert('name')无效后$('#name').val();。 任何人都可以告诉它为什么不起作用?

我在WebContent的js文件夹中添加了JQuery文件。

为了导入jquery,我使用了

<script src="/AjaxWithSpringMVC2Annotation/js/jquery.js"></script>

在JSP页面中。

这是完整的JSP源代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Add Users using ajax</title>
<script src="/AjaxWithSpringMVC2Annotation/js/jquery.js"></script>
<script type="text/javascript">
    function doAjaxPost() {
        // get the form values
        alert('doAjaxPost ');
        var name = $('#name').val();
        alert('name ');
        var education = $('#education').val();
        alert('education ');

        $.ajax({
            type : "POST",
            url : "/AjaxWithSpringMVC2Annotation/AddUser.htm",
            data : "name=" + name + "&education=" + education,
            success : function(response) {
                // we have the response
                $('#info').html(response);
                $('#name').val('');
                $('#education').val('');
            },
            error : function(e) {
                alert('Error: ' + e);
            }
        });
    }
</script>
</head>
<body>
    <h1>Add Users using Ajax ........</h1>
    <table>
        <tr>
            <td>Enter your name :</td>
            <td><input type="text" id="name"><br /></td>
        </tr>
        <tr>
            <td>Education :</td>
            <td><input type="text" id="education"><br /></td>
        </tr>
        <tr>
            <td colspan="2"><input type="button" value="Add Users"
                onclick="doAjaxPost()"><br /></td>
        </tr>
        <tr>
            <td colspan="2"><div id="info" style="color: green;"></div></td>
        </tr>
    </table>
    <a href="/AjaxWithSpringMVC2Annotation/showUsers.htm">Show All
        Users</a>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您可能希望为路径 js / **添加资源处理程序。请参阅17.15.6 Configuring Serving of Resources

@Configuration
@EnableWebMvc
public class SpringConfiguration extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/js/**").addResourceLocations("/js/");
    }

}

或XML格式:

<mvc:resources mapping="/js/**" location="/js/"/>