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