springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success";
mv.addAtrributes("test","test");
2.Map方式
声明方法时加入Map类型的参数:Map、Model、ModeMap等,再往Map类型中加入参数:
@requestMapping("/test")
public String testMap(Map<String,Object> map){
map.put("test","test");
return "success";
}
3.使用@SessionAttribute注解,该注解要配置在类的注释器之前,有value和types两个选择器来选择将整个类中的参数和类型放入到session域中。
@SessionAttribute(value={"test"})
@Controller
public class Test(){
public String testSessionAttribute(Map<String,Object> map){
map.put("test","test");
return "success";
}
}
可以看到这种方法如果仅仅用来传值是不妥当的,sessionAttribute必须从隐藏域种加载数据使用选择器,首先数据要放入域中,放入域中,就已经可以在前台访问了。