说明:controller方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。
返回字符串
@Controller
@RequestMapping("/account")
public class AccountController {
@RequestMapping(value = "/findAccount2")
public String findAccount2(Model model) {
//添加数据
model.addAttribute("msg", "欢迎你 springmvc");
return "success";
}
}
在index.jsp里面定义超链接
<a href="/account/findAccount2">返回字符串</a>
说明:
/item/queryItem?...&…..
重定向
@Controller
@RequestMapping("/account")
public class AccountController {
@RequestMapping(value = "/findAccount3")
public String findAccount3() {
return "redirect:/account/findAccount4";
}
@RequestMapping(value = "/findAccount4")
public String findAccount4(Model model) {
//添加数据
model.addAttribute("msg", "这是springmvc的重定向");
return "success";
}
}
在index.jsp里面定义超链接
<a href="/account/findAccount3">重定向</a>
说明:
request.getRequestDispatcher().forward(request,response)
,转发后浏览器地址栏还是原来的地址。转发并没有执行新的request和response,而是和转发前的请求共用一个request和response。所以转发前请求的参数在转发后仍然可以读取到。重定向
@Controller
@RequestMapping("/account")
public class AccountController {
@RequestMapping(value = "/findAccount3")
public String findAccount3() {
return "forward:/account/findAccount4";
}
@RequestMapping(value = "/findAccount4")
public String findAccount4(Model model) {
//添加数据
model.addAttribute("msg", "这是springmvc的重定向");
return "success";
}
}
在index.jsp里面定义超链接
<a href="/account/findAccount3">重定向和请求转发</a>