怎么在jsp页面中获取js的变量值

怎么在jsp页面中获取js的变量值,第1张

jsp是无法直接或取页面中js变量的值,但是可以通过间接的方法,用html的方法

例如:

<input id="data" type="hidden" value="你想要的数据" />

在html里定义一个上面的标签,把js的值放到标签里,然后jsp去获得这个值

java后台使用什么写的呢?

如果是servlet,你可以在sevlet中使用xsetAttribute(key,value);来存放一个值,其中的x是作用与对象,可以是page、request、session、application等作用域对象。

然后再前台可以使用<%=xgetAttribute(key)>来获取,并赋值给你的var a就可以了。

或者,你还可以使用jstl来获取,比如你存到request中了,就可以使用${requestScopekey}来获取。

如果后台使用的struts,直接用ognl来取得就可以了。

通过request的getParameter的方法获取

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

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

示例:

<script>

<%  

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

%>

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

</script>

可以使可以,但是不能在js加载事件中使用(如果一定用js在页面的onload事件里边用,那得用Ajax+WEbService的方法,有兴趣咱们可以讨论一下)。

方法就是在前台页面 放一个Html的“Hidden”控件,假使它id为hid1,把hid1设置为服务器控件(页面点击控件,右键设置“服务器控件”,或者在标签里边加上 runat="server"属性)。把这个数据循环拼成一个字符串,赋给hid1value

例:

int[5] arr = {1,2,3,4,5};

string a ;

for(int i =0;i<arrLenth;i++)

{

if(i !=arrLenth-1)//如果不是最后一位则用“~”拼接,如果是最后一个元素则不用在后边+“~”

{a +=arr[i]tostring()+"~";}

else

{

a+=arr[i]Tostring();

}

}

hid1value = a;

这样数组的内容就传递给前台的hid空间里边了。

然后再在前台写一个js方法,找到hid1的value值

然后用split('~'),这个方法返回一个String的数组,数组里边的内容就是你在后台传的内容了,不过这是个string数组,你想再有别的应用的话,转换一下数组里元素的格式就行了。这是我想到的比较简单的一个方法。

记住,一定要用hidden而不要自作聪明的用一个textbox然后隐藏什么的,那在前台是找不到的。

不过总的来说,你想从后台数据库抽取数据,然后用前台Js来根据这个数据区做一些页面设置的话(密码账号提示之类的无刷新效果),还是用Ajax+WEbService的方法最好,这也是目前开发中普遍使用的方法。

以上就是关于怎么在jsp页面中获取js的变量值全部的内容,包括:怎么在jsp页面中获取js的变量值、js里如何调用java后台代码里的一个变量,不是JSP啊 ,var a=<%=xxx %>这个我试过了,不行、JSP里面JS如何获取后台传来的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存