链接到/转到Apache root

时间:2016-08-17 15:40:58

标签: spring jsp spring-mvc jsp-tags

以下是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!那么如何正确编写链接目标?

1 个答案:

答案 0 :(得分:1)

如果应用程序不是根应用程序,则需要将应用程序的上下文路径添加到URL。

使用

href="${pageContext.request.contextPath}/"

或将JSTL核心库添加到JSP中,并使用

href="<c:url value='/' />"