java web后台向前台传值的有几种方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web后台向前台传值的有几种方法?相关的知识,希望对你有一定的参考价值。

action 向jsp传值 除了session以外还有那种方法?举个例子说明一下

1:使用框架的话,例如SpringMVC的,可以再Model.addAttribute("值")
2:不是框架,可以使用Writer out = respon.getWriter(),获取写出流,our.write("值")
参考技术A session
request
application
等,其实这些本质上来说,不是后台向前台传值,还是后台在向后台,JSP是在后台编译后,返回给前台的

我们通常说的前台就是指的在浏览器里面运行的内容,后台指的就在服务器端运行的内容

如果按这个说,后台向前台传值使用的就是http的response,我们写的ajax,http的get\post请求的返回数据就是这样的本回答被提问者和网友采纳
参考技术B request,
request.setParameter(key,value);
request.setAttribute(key,value);
参考技术C request.setAttribute

后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

讲这些,我们先来了解一下request.setAttribute和request.setAttribute()这两种方法的作用。

request.getAttribute("nameOfObj"); 可得到jsp页面表单中输入框内的value。(其实表单控件中的Object的name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value)

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

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

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

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

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

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

下面开始进入正题:

java后台通过:

request.setAttribute("msg","成功!!");

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

<div>${msg}</div>

js中获取request中的值,就有两种方式:

第一种:

var msg="<%=request.getAttribute("msg")%>";
alert(msg);

第二种:

var msg="${msg}";
alert(msg);

这里不能写在引入的js页面中,上面已经说了,他们解析的方式不同,写在外部的js中识别不了,可以通过在html.jsp页面中设置一个隐藏域,然后获取它的value值。如:

JSP中:
<input type="hedden" value="${student.name}" id="stuName"/>
javascript中:
var stuName=$(stuName).value;

 

以上是关于java web后台向前台传值的有几种方法?的主要内容,如果未能解决你的问题,请参考以下文章

后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

后台通过request.setAttribute向前台传值,前台如何去获取其中的对象或属性值

后台数值往前台传值,能获取到值,页面显示不出来的问题

Ajax前台如何向后台传值呢,本人对ajax不懂,肯定大神帮助,在此谢谢了.

关于json传值大小写的“坑”

前端ajax异步传值以及后端接收参数的几种方式