gpt4 book ai didi

java - 在Spring MVC中,如何映射/settings/、/settings/users/、/settings/users/delete等嵌套URL?

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:39 27 4
gpt4 key购买 nike

在 Spring 3 MVC 中,我有一个称为 SettingsController 的 Controller ,它具有用于显示用户列表的 displayUsers()、saveUser() 和 deleteUser() 等方法。 SettingsContoller 还控制角色和其他事情。

我希望能够使用 URL 路由,这样/settings/users 会调用 displayUsers(),/settings/users/save 会调用 saveUser(),而/settings/users/delete 会调用deleteUser()。

我的代码如下,我收到代码后的错误消息。我究竟做错了什么?谢谢!

@Controller
@RequestMapping("/settings")
public class SettingsController {

@Transactional
@RequestMapping(value = {"/users/save"}, method = {RequestMethod.POST})
public ModelAndView saveUser(details removed){
//details removed
}

@RequestMapping(value = {"/users/delete"}, method = {RequestMethod.POST})
public ModelAndView deleteUser(details removed){
//details removed
}

@RequestMapping(value = {"/users"}, method = RequestMethod.GET)
public ModelAndView settingsUsers(details removed){
//details removed
}

}

错误:

HTTP ERROR: 500

Could not resolve view with name 'settings/users/delete' in servlet with name 'spring'
RequestURI=/das-portal/srv/settings/users/delete

Caused by:

javax.servlet.ServletException: Could not resolve view with name 'settings/users/delete' in servlet with name 'spring'
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1029)
...

最佳答案

在我看来,您已经正确设置了 Controller 。正如您所指出的,问题可能在于 Spring 在启动时如何解析注释。

您是如何配置 Sprint 来解析诸如 @Controller 之类的注释的? ?您是否明确设置了任何类型的 HandlerMapping ?如果你使用 <context:component-scan> , 然后它 registers a DefaultAnnotationHandlerMapping for you .

好消息是you can chain multiple handler mapping classes together . DispatcherServlet将按照您通过 order property of the handler mapping beans 指定的顺序检查每一个(换句话说,使用 order 属性来指示处理程序的优先级)。

所以,抛出 <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>到您的配置中并根据需要设置其顺序属性。

关于java - 在Spring MVC中,如何映射/settings/、/settings/users/、/settings/users/delete等嵌套URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com