使用 jstl 读取从 ajax 发送到 jsp 页面的数据
Read data sent from ajax to jsp page using jstl
我有一个 ajax 调用 jsp 包含特定数据的页面。
$.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 来完成。
所有 HTTP 请求参数都在 EL 中,可通过隐式 ${param}
映射获得。
所以,应该这样做:
<c:out value="${param.dishName}" />
<c:out value="${param.dishId}" />
另请参阅:
与具体问题无关,请注意“JSTL" and "EL”有很大区别。那些 <c:xxx>
东西是 JSTL 标签。那些 ${...}
东西是 EL。您也可以独立使用 EL:
${param.dishName}
${param.dishId}
然而,这会打开一个潜在的 XSS attack hole,因此需要 <c:out>
来逃避它。
而且,你最好使用 servlet instead of a JSP to deal with HTTP requests. See also How to use Servlets and Ajax?。
我有一个 ajax 调用 jsp 包含特定数据的页面。
$.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 来完成。
所有 HTTP 请求参数都在 EL 中,可通过隐式 ${param}
映射获得。
所以,应该这样做:
<c:out value="${param.dishName}" />
<c:out value="${param.dishId}" />
另请参阅:
与具体问题无关,请注意“JSTL" and "EL”有很大区别。那些 <c:xxx>
东西是 JSTL 标签。那些 ${...}
东西是 EL。您也可以独立使用 EL:
${param.dishName}
${param.dishId}
然而,这会打开一个潜在的 XSS attack hole,因此需要 <c:out>
来逃避它。
而且,你最好使用 servlet instead of a JSP to deal with HTTP requests. See also How to use Servlets and Ajax?。