我想用Jquery運行Spring MVC,但是我遇到了一些奇怪的問題。每當應用程序啓動時,它將轉到添加用戶頁面。它用於添加用戶,而那段時間jquery沒有加載。如果我點擊顯示用戶頁面,然後回到使用eclipse瀏覽器中的後退按鈕添加用戶頁面,我在添加用戶頁面中的鏈接添加到顯示用戶頁面。然後jquery工作正常。任何人可以請爲什麼它不是在第一次工作,然後它是在訪問顯示用戶頁面後工作?然後,它不工作在任何瀏覽器給jQuery 404異常,在eclipse內只有它正在工作。我已經提供了下面的代碼。提前致謝。Spring MVC問題JQuery
package com.raistudies.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.raistudies.domain.User;
@Controller
public class UserListController {
private List<User> userList = new ArrayList<User>();
@RequestMapping(value="/AddUser.htm", method = RequestMethod.GET)
public String showForm() {
return "AddUser";
}
@RequestMapping(value = "/AddUser.htm", method = RequestMethod.POST)
public @ResponseBody
String addUser(@ModelAttribute(value = "user") User user,
BindingResult result) {
System.out.println(" add user controller...");
String str = "";
System.out.println(" User " + user.getName());
System.out.println(" User " + user.getEducation());
if (!result.hasErrors()) {
userList.add(user);
str = "User has been added to the list, total number of users are "
+ userList.size();
} else {
str = "Sorry, an error has occur. User has not been added to list." + result.getAllErrors();
}
System.out.println(" add user controller ends...");
return str;
}
@RequestMapping(value = "/showUsers.htm")
public String showUsers(ModelMap model) {
model.addAttribute("Users", userList);
return "ShowUsers";
}
}
package com.raistudies.domain;
public class User {
private String name;
private String education;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
}
under the WebContent i have a folder js - inside that i have jquery.js file.
under the WebContent i have WEB-INF folder, it has jsp and lib folder.
under jsp folder
AddUser.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<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();
$.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" name="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>
ShowUser.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Users Added using Ajax</title>
</head>
<body style="color: green;">
The following are the users added in the list :
<br>
<ul>
<c:forEach items="${Users}" var="user">
<li>Name: <c:out value="${user.name}" />; Education: <c:out
value="${user.education}" /></li>
</c:forEach>
</ul>
</body>
</html>
under WEB-INF
app-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="com.raistudies" />
<mvc:annotation-driven />
<!-- <mvc:resources location="/, classpath:/META-INF/web-resources/"
mapping="/resources/**" />
<mvc:resources mapping="/resources/**" location="/public-resources/" />
-->
<!-- <mvc:resources mapping="/js/**" location="/js/"/> -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>AjaxWithSpringMVC2Annotation</display-name>
<servlet>
<servlet-name>SpringMVCDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/app-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVCDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
under WEB-CONTENT
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<jsp:forward page="/AddUser.htm" />
當你說'jquery工作正常',你是說你可以使用後退按鈕後添加用戶嗎? – andyb
是的。我可以添加用戶。 – user2724215
聽起來像Eclipse已經以某種方式緩存它。使用Maven命令行而不是Eclipse我無法使AddUser頁面工作,因爲從未找到「jquery.js」。我必須更改webapp配置才能使其工作。我看不到如何訪問另一個頁面,然後返回使突然工作的路徑。 – andyb