在js中可以引用jsp中的数据吗

在js中可以引用jsp中的数据吗,第1张

你好,

通常来说是可以的。我给你列举两种方法,你根据你的情况选择适合你的吧。

方法一:将jsp中的变量输出到html中的type为hidden的input中,js从input中去取值

<!-- jsp页面中的input元素 -->
<input type="hidden" value="<%=serverData%>" id="J_ServerData">
<!--
当然,挂在某一个DOM元素的属性上也是可以的
<div id="J_DataDiv" data-server-data="<%=serverData%>">页面中的任意DOM节点</div>
-->
<script>
// JS中读取jsp页面中输出到页面中的值
var inp = documentgetElementById('J_ServerData');
// 如果是div
// var node = documentgetElementById('J_DataDiv');
// 取值
var serverData = inpvalue;
// 如果是属性
// var serverData = nodegetAttribute('data-server-data');
consolelog(serverData);
</script>

方法二:JS可以通过AJAX与服务端通信,只需服务端封装一个JSP接口,前端即可取到服务端数据,以jQuery为例

$ajax({
    url: 'server_addr/apijsp',
    type: 'get',
    success: function(data) {
        // data 就是服务端(jsp)返回的数据
        consolelog(data);
    }
});

大致就这么多,希望能解决你的疑惑,如有疑问可追问~

jsp是无法直接或取页面中js变量的值,但是可以通过间接的方法,用html的方法
例如:
<input id="data" type="hidden" value="你想要的数据" />
在html里定义一个上面的标签,把js的值放到标签里,然后jsp去获得这个值

js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。
java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:
<script>
var url="<%=url%>";
alert(username);
</script>
上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:
<script>
var url="gif8cn";
alert(url);
</script>
这部分就是标准的js代码了。


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

原文地址: http://outofmemory.cn/yw/10549873.html

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

发表评论

登录后才能评论

评论列表(0条)

保存