springMVC如何将controller中数据传递到jsp页面
1> 将方法的返回值该为modelandview在返回时,将数据存储在modelandview对象中如:
newmodelandview("/webinf/jsp/showdata.jsp","message",message)
其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。
在这里要注意的是 数据是默认被存放在request中的。
示例:
@requestmapping(value="/mad/showdata_1.do") public modelandview showdata_1(){ string message = "这个是要传递的数据"; /*其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。在这里要注意的是:数据是默认被存放在request中的。*/ return new modelandview("/web-inf/jsp/showdata.jsp","message",message); }
前台页面获取方式:
request:${requestscope.message}
2> 可以在类的前面添加注解
@sessionattributes({“message”,”user”})
这个注解可以设置对应的model中参数也会在session中存储一份。该注解中的参数为一个集合,可以写多个,如上面的例子,其中message和user都是存储的数据的key.
示例程序:
@sessionattributes({"message","user"}) //modelandview中的对应的数据也会在session中存储一份
页面获取:
session:${sessionscope.message}<br/>
3 > 数据modelandview返回一个集合
该处理方式和上面的处理方式一直,因为modelandview接受的数据类型是object的,集合也是一样的处理方式
示例:
//使用modelandview对象将数据传递到前台。 //传递多个参数(不同类型的) @requestmapping(value="/mad/showdata_2.do") public modelandview showdata_2(){ system.out.println("showdata_2"); string message = "这个是要传递的数据"; user user = new user("张三", 12, new date()); list<user> us= new arraylist<user>(); us.add(new user("张三", 12, new date())); us.add(new user("张四", 13, new date())); us.add(new user("张五", 14, new date())); modelandview mad = new modelandview("/web-inf/jsp/showdata.jsp"); //将数据存入modelmap mad.addobject("message", message); mad.addobject(user);//默认为类名的首字母小写 mad.addobject("users", us); return mad; }
前台页面获取方式:
request:${requestscope.message}<br/> <c:foreach items="${requestscope.users }"var="u"> ${u.name }-${u.age }-${u.birth }<br/> </c:foreach>
4、使用modelandview传递多个参数。
可以通过modelandview的mad.addobject(“message”,message);方法设置参数。
该方法中第一个参数为数据的key,第二个参数为数据对象。
也可以使用mad.addobject(user);方法
该方法中数据的参数为数据对象,数据的key为该对象的类的类名 (其中首字母小写)。
5、使用modelmap传递多个数据到jsp中。
在方法的参数列表中添加形参 modelmap map,spring 会自动创建modelmap对象。
然后调用map的put(key,value)或者addattribute(key,value)将数据放入map中,spring会自动将数据存入request。
示例:
//使用modelmap对象将数据传递到前台。 //传递多个参数(不同类型的) @requestmapping(value="/mad/showdata_3.do") public string showdata_3(modelmap map){ system.out.println("showdata_3"); string message = "这个是要传递的数据"; user user = new user("张三", 12, new date()); list<user> us= new arraylist<user>(); us.add(new user("张三", 12, new date())); us.add(new user("张四", 13, new date())); us.add(new user("张五", 14, new date())); //将数据存入modelmap map.put("message", message); map.addattribute("user", user); map.put("users", us); return"/web-inf/jsp/showdata.jsp"; }
页面调用:
request:${requestscope.message}<br/> session:${sessionscope.message }<br/> application:${applicationscope.message}<br/> <hr/> <h1>modelmap中的数据</h1> ${requestscope.message}<br/> ${requestscope.user.name}<br/> <p>列表</p> <c:foreach items="${requestscope.users}" var="u"> ${u.name }-${u.age }-${u.birth }<br/> </c:foreach>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: java实现哈夫曼压缩的实例
下一篇: 详解Vue前端生产环境发布配置实战篇
推荐阅读
-
springMVC如何将controller中Model数据传递到jsp页面
-
springMVC如何将controller中数据传递到jsp页面
-
SpringMVC 向jsp页面传递数据库读取到的值方法
-
java-jsp springmvc-controller 传值到页面的方法
-
java-jsp springmvc-controller 传值到页面的方法
-
springmvc如何将对象类型的数据放入到model对象中
-
SpringMVC中前台ajax传递数据,后台controller接收为null问题解决
-
SpringMVC 向jsp页面传递数据库读取到的值方法
-
JavaWeb如何将后台数据传递到前台页面HttpServletResponse和HttpServletRequest_html/css_WEB-ITnose
-
ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式