使用jstl读取从ajax发送到jsp页面的数据

时间:2015-02-13 06:32:18

标签: ajax jsp jstl

我有一个带有某些数据的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。

1 个答案:

答案 0 :(得分:0)

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

所以,这应该做:

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

另见:


对具体问题

无关,请注意“JSTL”和“EL”之间存在很大差异。那些<c:xxx>事物是JSTL标签。那些${...}的东西是EL。您也可以使用EL standalone:

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

然而,这会打开一个潜在的XSS attack hole,因此需要<c:out>来逃避它。

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