【问题标题】:How to return a String from java to javascript in spring MVCjava - 如何在spring MVC中将字符串从java返回到javascript
【发布时间】:2015-06-29 12:09:11
【问题描述】:

我在 javascript 中有这部分代码

    function showHistory(taskId){               
        alert(historyManager.showHist(taskId));
    }

我在 HistoryManager.java 中使用了这个方法

public String showHist(int taskId, HttpSession session) {
    String str=historyManager.listTasks(taskId);
    System.out.println(str);
    return(str);        
}

我需要将字符串从 java 获取到 javascript。 System.out.orintln(str);正确显示结果,但此字符串未返回到 javascript。 警报功能显示未定义。

【问题讨论】:

  • 如果是控制器方法,您可以将其添加为 model.addAttribute 并从 JSP 中将其传递给您的 javascript。
  • 你可以简单地在方法上使用@ResponceBody注解或者作为返回类型。

标签: javascript java spring


【解决方案1】:

不知道你问的是什么类型的请求,这是否是 Ajax 调用的 HTTP 请求?

这是在 jsp 中获取值的一种方法。

这样改代码,

public String showHist(int taskId, HttpSession session, Map<String, Object> map) {
    String str=historyManager.listTasks(taskId);
    System.out.println(str);
    map.put("str",str)
    return("viewpage.jsp");        
}

在javascript中得到这样的,

var taskId = '${str}';

如果是ajax调用

像这样在你的方法中添加@ResponseBody注解,

public @ResponseBody String showHist(int taskId, HttpSession session, Map<String, Object> map) {
        String str=historyManager.listTasks(taskId);
        System.out.println(str);
        map.put("str",str)
        return(str);        
    }

【讨论】:

  • -1 由于过于投机,OP 从未提及 JSP,并且看起来他们的理解是 JS 代码可以直接连接到 Spring bean,因此如果不解释客户端-服务器通信是如何完成的,这个答案将无济于事.
猜你喜欢
  • 2011-05-02
  • 2020-05-23
  • 2019-11-28
  • 1970-01-01
  • 2011-10-14
  • 2017-11-30
  • 1970-01-01
  • 2016-10-27
  • 1970-01-01
相关资源
最近更新 更多