jsp与js之间变量赋值

jsp与js之间变量赋值,第1张

在写jsp中有时会需要把js的变量赋给java变量,或者将java的变量赋给js变量的情况,如果js处理的不好只能获取到undefined,java处理不好就只能获取到null。因此这次做个小笔记,记录一下~

java变量传给js:

var writer="<%=usergetUsername() %>" //这里的user是自己实例化的对象, 注意要将引号”"加上 ;否则alert(typeof (writer) );的值是undefined

java接收js传来的值:

js的值如果是undefined,那传到后台的值也就是null了。

jsp里的java代码是在服务器上执行的,而js是在客户端执行的。执行顺序是先进行java执行后发给客户端再运行js,所以同一个页面里的java代码是获取不到js变量的,那个时候js都还没执行,js内存都没分配呢,就不会js变量的。

jsp中是不能引用js变量的,jsp是服务端的,在服务器转发的时候数据已经定死在页面里面了

,而js是客户端的,可以不断通过客户端代码来修改js的值,因此js的值不能赋值给jsp的。如果硬要赋值的话可以虚拟一个表单提交,例如:

<form id="testForm" method="post" action="当前页面jsp">

<input type='hidden' id="test1" name="val1" value="js的值">

</form>

<script>documentgetElementById('testForm')submit()</script>

<% String val=requestgetParamter('val1') %>

这样就可以了,但是表单已经提交过一次了,一次转发携带的数据将会丢失!

getParamter

;Paramter是参数的意思,你从页面的form传入后台的数据,都用这个方法取。

getAttribute,attribute是属性的意思,request也是个对象嘛,你放进去什么属性,你就可以取什么属性。明白了吗?

所以,只有getParamter

却没有setParamter方法,

getAttribute,

setAttribute都用,因为你只有set属性之后,你才能get属性

一般是这么用的

,你在action里先用getParamter

,获得页面表单里的数据,经过处理后,你在用setAttribute把你要返回的数据放到request里,之后,你在jsp页面上,就可以用getAttribute获得你刚才放入的数据了,别忘了类型转化,用getAttribute得到的类型都是Object的,你还要强制转为你需要的类型

通过request的getParameter的方法获取

1、通过requestgetParameter("参数名")获取后台的值

2、通过<%=变量%>的方式赋给js变量

示例:

<script>

<%  

  String s2 = (String)requestgetParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言

%>

var s = '<%=s2%>';//输出s2给js变量s

</script>

以上就是关于jsp与js之间变量赋值全部的内容,包括:jsp与js之间变量赋值、jsp 中java代码怎么直接获取js里的变量、如何在jsp中引用js变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9524883.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存