将控制器响应存储在JSP变量中

时间:2016-09-26 14:30:11

标签: jsp controller

我有一个用于执行被动登录的Spring控制器。该方法返回一个JSON,其中包含稍后在应用程序中使用的信息。

我应该通过JSP调用控制器,然后将结果传递给JavaScript。

如何调用控制器并存储结果?

我尝试使用<jsp:include page="login.do?param1=x&param2=y"/>,但未调用控制器

1 个答案:

答案 0 :(得分:0)

我在页面的<head>部分添加了以下代码以检索响应

<%@page import="java.io.*" %>
<%@page import="java.net.*" %>
<%    
  String recv;
  String recvbuff = "";
  URL jsonpage = new URL("http://somehost/logon.do?username=abc&password=123");
  URLConnection urlcon = jsonpage.openConnection();
  BufferedReader buffread = new BufferedReader(new InputStreamReader(urlcon.getInputStream()));

  while ((recv = buffread.readLine()) != null) {
    recvbuff += recv;
  }
  buffread.close();

%>

然后在javascript中

<script>
  ...
  var credentials = JSON.parse('<%= recvbuff%>');

</script>

我不确定这是最好的方法,但它有效。