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

JavaScript019

在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 = 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)

    }

})

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

我给你说一个办法吧..比较麻烦..但是技术角度很简单...

在javacsript中去open一个jsp窗口..吧用的东西都传进去.然后那个jsp页面能用request获得.你传递进来的参数..然后你就用jsp可以进行操作了..操作完了以后调用提交..你的父窗体就能得到返回值..然后在close掉你open的窗口..这样是可以实现的..但是..比较麻烦..

或者说..单纯的计算..你完全可以用js去实现的啊..不用还调用别的什么jsp了..直接用js在当前页面实现就好了啊

方法有很多,session,标签,都可以。

还有可以用hidden

例如<input type='hidden' value='' id='num'/>

在jsp页面中将id赋值给id为num的这个hidden。然后,在js里面获取这个hidden的值就可以了