springMVC如何将controller中数据传递到jsp页面

2025-05-29 0 89

1> 将方法的返回值该为ModelAndView在返回时,将数据存储在ModelAndView对象中如:

?

1
newModelAndView("/WEBINF/jsp/showData.jsp","message",message)

其中第一个参数为url,第二个参数为要传递的数据的key,第三个参数为数据对象。

在这里要注意的是 数据是默认被存放在request中的。

示例:

?

1

2

3

4

5

6
@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);

}

前台页面获取方式:

?

1
request:${requestScope.message}

2> 可以在类的前面添加注解

?

1
@SessionAttributes({“message”,”user”})

这个注解可以设置对应的model中参数也会在session中存储一份。该注解中的参数为一个集合,可以写多个,如上面的例子,其中message和user都是存储的数据的key.

示例程序:

复制代码 代码如下:


@SessionAttributes({"message","user"}) //modelAndView中的对应的数据也会在session中存储一份

页面获取:

?

1
session:${sessionScope.message}<br/>

3 > 数据modelAndView返回一个集合

该处理方式和上面的处理方式一直,因为modelAndView接受的数据类型是Object的,集合也是一样的处理方式

示例:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
//使用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;

}

前台页面获取方式:

?

1

2

3

4
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。

示例:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17
//使用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";

}

页面调用:

?

1

2

3

4

5

6

7

8

9

10

11
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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:http://www.cnblogs.com/xuange306/p/6398090.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 springMVC如何将controller中数据传递到jsp页面 https://www.kuaiidc.com/115741.html

相关文章

发表评论
暂无评论