Spring mvc url参数

zax*_*zax -2 spring spring-mvc

我无法展示可能的餐厅.我得到了我的控制器类:

@Controller
public class RestaurantController extends MultiActionController{

    private RestaurantDAO restaurantDAO;

    public void setRestaurantDAO(RestaurantDAO restaurantDAO) {
        this.restaurantDAO = restaurantDAO;
    }


    @RequestMapping("/restaurant/{restaurantId}")
    public ModelAndView restaurantid(@PathVariable("contactId") int id, 
         HttpServletRequest request,
         HttpServletResponse response) throws Exception {

       Restaurant restaurant = restaurantDAO.findRestaurantById(id);
       ModelMap modelMap = new ModelMap();
       modelMap.addAttribute("restaurant", restaurant);
       return new ModelAndView("restaurant", modelMap);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的jsp只是:

<c:out value="${restaurant.name }"
Run Code Online (Sandbox Code Playgroud)

在我的spring-servlet.xml中:

<bean name="/restaurant/**" class="web.RestaurantController" >
<property name="restaurantDAO" ref="myRestaurantDAO"/> 
</bean>
Run Code Online (Sandbox Code Playgroud)

Ral*_*lph 5

因为你混了restaurantIdcontactId

@RequestMapping("/restaurant/{restaurantId}")
public ModelAndView restaurantid(@PathVariable("contactId") ...
Run Code Online (Sandbox Code Playgroud)

我想,当你改变@PathVariable("contactId")@PathVariable("restaurantId")它的工作.

并添加@RequestMapping("/restaurant/**")到您的控制器:

 @RequestMapping("/restaurant/**")
 @Controller
 public class RestaurantController extends MultiActionController{
Run Code Online (Sandbox Code Playgroud)

BTW:什么是MultiActionController?