【问题标题】:Read data sent from ajax to jsp page using jstl使用jstl读取从ajax发送到jsp页面的数据
【发布时间】:2015-02-13 06:32:17
【问题描述】:

我对包含某些数据的 jsp 页面进行了 ajax 调用。

$.ajax({

    type: "POST",

    url: "jsp/order.jsp",
    data: {
        "dishId"                    :   id,
        "dishPrice"                 :   price,
        "dishName"                  :   name

          },
    success: function(msg) {
        alert(msg);
          }
    });

我想使用 jstl 读取 order.jsp 中的数据。但是,我无法使用以下语句来做到这一点。

<c:out value='${dishName}' />
<c:out value='${dishId}' /> 

我知道可以使用 scriptlet 来完成,但想使用 jstl 来完成。

【问题讨论】:

    标签: ajax jsp jstl


    【解决方案1】:

    所有 HTTP 请求参数都可以通过隐式 ${param} 映射在 EL 中使用。

    所以,应该这样做:

    <c:out value="${param.dishName}" />
    <c:out value="${param.dishId}" /> 
    

    另见:


    与具体问题无关,请注意“JSTL”和“EL”之间存在很大差异。那些&lt;c:xxx&gt; 的东西是JSTL 标签。那些${...} 的东西是EL。您也可以单独使用 EL:

    ${param.dishName}
    ${param.dishId}
    

    但是,这会打开潜在的XSS attack hole,因此需要&lt;c:out&gt; 来逃避它。

    而且,您最好使用servlet 而不是JSP 来处理HTTP 请求。另见How to use Servlets and Ajax?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      相关资源
      最近更新 更多