后台通过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;

原文地址:https://www.cnblogs.com/xslzwm/p/9719553.html

时间: 2024-08-29 11:42:27

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

WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)

WPFS数据绑定(要是后台类对象的属性值发生改变,通知在"client界面与之绑定的控件值"也发生改变须要实现INotitypropertyChanged接口) MainWindow.xaml <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="

Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: 1 <form action="login" method="post"name="form1"> 2 3 4 用户名:<s:textfieldname="username"/><br/> 5 密 码:<s:passwordname="password"/>&l

jsp页面中使用javascript获取后台放在request或session中的值

在JSP页面中.常常使用javascript,可是要出javascript获取存储在request,session, application中的值.例如以下是获取request中的值: 如果后台中有: request.setAttribute("value", "123"); 在前台的javascript中有例如以下获取方式: 1 : var val =  "${value}"; 2: var val = "<%=request.

前台jquery+ajax+json传值,后台处理完后返回json字符串,如何取里面的属性值?(不用springmvc注解)

一.取属性值 前台页面: function select(id){ alert("hfdfhdfh"+id); $.ajax({ url:"selectByid.jsp", datatype:'json', data:{id:id}, // 发送数据 error:function(data){ alert("出错了,没有这个学生!!"); }, success:function(data){ alert(data); var json = eva

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

今天遇到一个很头疼的问题,就是后的集合转成json后,网前台传值,可以获取到值,但是页面显示不出来.查了好多的资料都没有得到解决. 查看了资料后发现,ajax少写了一个属性就是dataType:"json"这个属性,这个属性是返回值的格式,这个属性必须要写的.朋友们写代码的时候一定要注意,不要大意. 这些小细节问题很难发现. 1 @RequestMapping("manger") 2 @ResponseBody 3 public String selectAllUs

干货运用resteasy整合web框架,同时将后台接口以js形式导出到前台

不多说先上 web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/jav

strus2 &lt;s:textfield&gt;&lt;/textfield&gt; 处理后台返回值#request.setAttribute

后台action /**  * 仪器设备计划信息查询  *   * @param param  * @return  */ public String queryInstrumentPlan() { String name = request.getParameter("name"); String x_sbxh = request.getParameter("x_sbxh"); String serial_no = request.getParameter(&qu

springMVC接受前台传值

今天,用ajax向springMVC的控制器传参数,是一个json对象.({"test":"test","test1":"test1""test2":"test2"})开始的想法是用一个对象来接收这个json对象.但是又不知道具体用什么对象,开始用了一个Object,名字和json对象属性名相同,但是得不到 @RequestMapping("/test") publi

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(5)-前台JqueryEasyUI前台实现

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(5)-前台JqueryEasyUI前台实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装 前言:今天经理买了一个诺基亚的Windows Phone 8系统,特感兴趣,所以在哪里看了很长时间,这篇文章就写的有点迟, 从这个Demo开始到现在我已经写了4篇博客了,终于可以看到页面的东