javascript - 在 javascript 中读取一个 spring Controller 模型

标签 javascript java spring jsp

我有一个 Controller ,其中将 JSONObject 作为参数传递。我想在 javascript(客户端)而不是服务器端(JSP)中使用对象“all”,所以我不想使用 JSP 标签获取对象。

 @RequestMapping(value = { "/dfi/rca" }, method = RequestMethod.GET)
    public String getRcaResult(Model model, String flight_id) {
        ...
        JSONObject all = new JSONObject ();
        ...
        model.addAttribute("all",all);          
        return "dfi/rca";
    }

我有一个导入 Javasript 文件的 JSP 文件,我在其中使用了 all 属性,但我不知道如何访问它。如果我在 JSP 文件中使用此代码,它会正常工作:

<script type="text/javascript">
     var all= "${all}";
</script>

但是如果我尝试在 JSP 中导入一个 Javascript 文件,它什么也得不到:

<script type="text/javascript" src="${pageContext.request.contextPath}/resources/js/all.js"></script>

在 all.js 中:

var rcaresults = JSON.parse('${all}');

有什么方法可以读取 Javascript 文件中的 Spring 模型属性吗?

提前致谢。

最佳答案

JavaScript 在客户端运行。您的型号model.addAttribute("all",all);在客户端不存在,它仅在您呈现 .jsp 时存在于服务器端。

如果您希望模型中的数据可用于客户端代码(即 javascript),则需要将其存储在渲染页面的某个位置。例如,您可以使用 Jsp 编写 JavaScript,将您的模型分配给 JavaScript 变量。 例如 <script>var paramOne =<c:out value="${all}"/></script>

关于javascript - 在 javascript 中读取一个 spring Controller 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851162/

相关文章:

javascript - 如何将div的图像保存到移动设备的图库中?

java - 使用来自 j2me 手机的短信将短信发送到电子邮件

java - 错误无法加载资源: the server responded with a status of 403 () en angular

java - 将参数传递给 Spring MethodInvokingFactoryBean 参数列表

javascript - mat-spinner 是如何在 mat-table 中渲染的?

javascript - jquery "this"在集合上下文中

javascript - Dogfooding 我们自己的限速 API

java - 如何在单独的线程中运行java进程

java - JSP应该加什么taglib?

java - Spring事务管理@Transactional行为