java实现后台向页面传值_springMVC:后台传值并返回页面

java后台传值:request.setAttribute("msg","成功!!");

jsp页面可以通过EL表达式获取到request中设置的属性值:

${msg}

js中获取request中的值

var msg="";  alert(msg);

JSP中: 

javascript中: var stuName=$('stuName').value;

jsp页面用EL表达式获得值 var msg = '${msg}';

request.setAttribute()对象设置的对象有大小限制吗  理论无限制,但实际有限制;

JVM的Win下一般内存有1040M左右最大限制;

你的对象本身估计也无法超过这个硬限制;

如果你的JVM添加了参数控制 如-XMx的限制,也不会超过最大的对内存分配的.

request.setAttribute和request.getAttribute()

request.setAttribute(position,nameOfObj);属于页面之间的传值,从a.jsp到b.jsp一次传递,之后这个request就会失去他的作用范围,再传就要重新设一个request.setAttribute()。(使用session.setAttribute()会在一个过程中始终保持这个值)

前端取值:

1、把js直接写在了JSP页面,所以能获取到。如果单独把JS抽离出来是不可能获取到的。前者服务端解析能或许到,后者客户端解析获取不到。

2、js里是在客户端执行的,不能直接获取,因为EL表达式是在服务器的时候被解析的,所以可以获取到。一个是客户端的东西,一个是服务器端的东西。

3、jsp能取到,那是因为他本身就是servlet。js不可能有方法直接获取到HttpServletRequest里面的属性值。

4、setAttribute是服务器行为,到了客户端就无效了,也谈不上如何用。除非你在jsp的时候就写到js变量里,或者使用ajax请求你需要的数据。

注:javascript与jsp中不能相互传值,因为javascript运行在客户端,jsp运行在服务器端。若想使他们能够相互传参数,可以在jsp页面中设置一个hidden属性的控件,用它的value来传递所需的数值

Spring 向页面传值

当Controller组件处理后,向jsp页面传值,

1:使用HttpServletRequest 和 Session  然后setAttribute(),就和Servlet中一样

2:使用ModelAndView对象

3:使用ModelMap对象

4:使用@ModelAttribute注解

ModelAndView ModelAndView有两个作用,通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面。用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数: addObject(String key,Object value);

该对象中包含了一个model属性和一个view属性

model:其实是一个ModelMap类型。其实ModelMap是一个LinkedHashMap的子类

当视图解释器解析ModelAndVIew是,其中mode

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值