以下是controller
:
@Controller
public class HomeController {
@Autowired
private UserDAO userDao;
@RequestMapping("/")
public ModelAndView accueil() throws Exception {
List<User> listUsers = userDao.list();
ModelAndView model = new ModelAndView("UserList");
model.addObject("userList", listUsers);
return model;
}
@RequestMapping(value = "/new", method = RequestMethod.GET)
public ModelAndView newUser() {
ModelAndView model = new ModelAndView("UserForm");
model.addObject("user", new User());
return model;
}
...
}
在jsp
内,我在链接中放置了一个按钮,以便在点击时调用controller
中的“accueil”操作:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<html>
...
<tr>
<td>
<input type="submit" value="Save">
</td>
<td><a href="/"><input type="button" value="Annuler" /></a></td>
</tr>
</form:form>
...
问题是当我点击“Annuler”按钮然后我到达localhost:8080!那么如何正确编写链接目标?
答案 0 :(得分:1)
如果应用程序不是根应用程序,则需要将应用程序的上下文路径添加到URL。
使用
href="${pageContext.request.contextPath}/"
或将JSTL核心库添加到JSP中,并使用
href="<c:url value='/' />"