
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如何获取后台传来的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)