【问题标题】:JSP changing Scriptlet to ELJSP 将 Scriptlet 更改为 EL
【发布时间】:2014-02-04 17:39:32
【问题描述】:

我正在用 javascript 构建一个 JSON 字符串,并通过 Ajax POST 将 JSON 发布到 jsp 页面

这是我的 scriptlet,我可以在其中检索发布数据并访问 JSON 对象。

<% 
    JSONObject responseObject = new JSONObject();
    try {
            BufferedReader in = new BufferedReader(new InputStreamReader( request.getInputStream()));
            String postStream = in.readLine();
            in.close();
            JSONObject requestObject = new JSONObject(postStream);
            JSONArray qJSONArray = requestObject.getJSONArray("questions");
        } catch (JSONException e) {
            out.print(responseObject.toString());
        }
%>

我希望能够仅使用表达式语言来做同样的事情。最好的方法是什么?并且可以使用标准jstlcore,fmt,functions 来完成吗?还是我需要访问任何其他库?

如果我确实需要另一个库,是否可以通过公共 URL 访问,就像访问 jstl 库一样?

例如

&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%&gt;

【问题讨论】:

    标签: javascript json jsp jstl el


    【解决方案1】:

    一般来说,我看到人们用 EL 做的事情是在 servlet 中完成真正的工作,将输出保存到请求对象,然后转发到 JSP,该 JSP 仅读取请求对象的输出并打印它到页面上。但是对于 AJAX,这将是矫枉过正。 servlet 不需要转发到 JSP,因为不需要样式(尤其是 Json)。所以,把后端的进程做成一个servlet而不是JSP,这样就可以保留Java代码。

    【讨论】:

    • 谢谢你的回答,我想这就是我要走的方向。但是,我会暂时不接受这个答案,以防其他人有任何意见。
    猜你喜欢
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2019-04-23
    相关资源
    最近更新 更多