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

如题所述

你好,

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

方法一:将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 = document.getElementById('J_ServerData');
// 如果是div
// var node = document.getElementById('J_DataDiv');
// 取值
var serverData = inp.value;
// 如果是属性
// var serverData = node.getAttribute('data-server-data');
console.log(serverData);
</script>

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

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

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-16
很多人有这样一个误区,以为将js代码写在jsp文件中,就可以使用jsp页面里的数据。其实,js在运行时是永远不会在jsp里的,因为jsp只能在服务端运行,而js是在浏览器中解释运行的。实际上js只能操作html,jsp在服务器端被编译后返回到客户端浏览器的是html。这样说,不知你是否能理解。本回答被提问者采纳
第2个回答  2016-07-16
可以的,用<%........%>就可以了
相似回答