2016-08-17 35 views
0

這裏是controller鏈接到/下降到Apache根

@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

如果應用程序不是根應用程序,則需要將應用程序的上下文路徑預先添加到URL中。

使用

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

或JSTL核心庫添加到您的JSP,並使用

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