导致 404 的路径变量
Path Variable Causing 404
我正在添加一个 Path variable
来接收 URL 发送的值。这是我的控制器。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public void userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
}
}
但是我遇到了 404
错误。
这是我 jsp
的文件夹结构。
请帮我看看这里出了什么问题。
谢谢。
编辑: 我是否有机会发送空路径变量 ex:http://localhost:8080/mvcquick/user/list
和 return 到相同的方法?
请尝试以下选项。
@PathVariable(name="field",required=true)
我认为它正在您的“.jsp”文件中寻找 n.jsp。请确保在发送 id 或 attributes 时您发送正确。
请注意错误提示 n.jsp 未找到。这意味着您没有 return 从控制器获取视图名称 - 我假设它是 list.jsp。要更改此设置,请提供指向您的 list.jsp 文件的 return String 值。所以尝试使用
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public String userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
return "jsp/user/list.jsp"; // Path root must be from WEB-INF
}
系统正在寻找 mvcquick/WEB-INF/jsp/user/list/n.jsp
。
我没有看到这个文件。
请试试这个:
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public String userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
return "user/list"; // added line. Alos return type to String
}
我正在添加一个 Path variable
来接收 URL 发送的值。这是我的控制器。
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public void userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
}
}
但是我遇到了 404
错误。
这是我 jsp
的文件夹结构。
请帮我看看这里出了什么问题。
谢谢。
编辑: 我是否有机会发送空路径变量 ex:http://localhost:8080/mvcquick/user/list
和 return 到相同的方法?
请尝试以下选项。
@PathVariable(name="field",required=true)
我认为它正在您的“.jsp”文件中寻找 n.jsp。请确保在发送 id 或 attributes 时您发送正确。
请注意错误提示 n.jsp 未找到。这意味着您没有 return 从控制器获取视图名称 - 我假设它是 list.jsp。要更改此设置,请提供指向您的 list.jsp 文件的 return String 值。所以尝试使用
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public String userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
return "jsp/user/list.jsp"; // Path root must be from WEB-INF
}
系统正在寻找 mvcquick/WEB-INF/jsp/user/list/n.jsp
。
我没有看到这个文件。
请试试这个:
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping(value = "/list/{field}", method = RequestMethod.GET)
public String userList(Model model, @PathVariable("field") String field) {
List<Users> userList = userDAO.searchAll();
System.out.println("Condition "+field);
model.addAttribute("userList", userList);
return "user/list"; // added line. Alos return type to String
}