当前位置:  开发笔记 > 编程语言 > 正文

如何在javascript中嵌入JSP?

如何解决《如何在javascript中嵌入JSP?》经验,为你挑选了1个好方法。

我正在研究需要在JSP中读取数据库的项目,但javascript使用数据来渲染谷歌地图(地图点).我不知道如何通过javascript访问NoSQL数据库,所以我正在考虑在javascript中嵌入JSP来访问数据,并将其作为一种方式将它们提供给javascript.

我搜索了很多关于这些功能的内容,我希望代码如下:

var a = <%=data %>

我怎么能控制脚本(因为它是.js)和index.jsp?

谢谢



1> Luiggi Mendo..:

Java代码在服务器上运行,这意味着它在您的应用程序服务器上运行并有助于呈现视图(在本例中为JSP).JavaScript在客户端运行,这意味着它在客户端浏览器(Internet Explorer [ugh],Firefox,Chrome和on ...)上运行.所以,根据您当前的代码:

var a = <%=data %>;

假设data是a String且值为"Hello World",生成的HTML/JS将是:

var a = Hello World;

哪会产生错误.所以,你需要引用变量:

var a = '<%=data %>';

现在这会产生:

var a = 'Hello World';

对于更复杂的通信,例如将列表或复杂结构或复杂结构列表从服务器传递到客户端,最好使用通用格式来交换数据,如JSON.您可以将数据从服务器(最好是在Servlet中)编组为JSON字符串,然后轻松地将其传递给JavaScript端.例如,使用Jackson Library for Java:

@WebServlet("/MyServlet")
public class MyServlet extends HttpServlet {
    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException {
        List complexObjectList = ... //get your data
        request.setAttribute("complexObjectList", OBJECT_MAPPER.writeValueAsString(complexObjectList));
        //forward to the desired view...
        request.getRequestDispatcher("/WEB-INF/theView.jsp").forward(request, response);
    }
}

然后在你的JSP中(使用Expression Language,因为你应该避免使用scriptlet):


推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有