JSP中获取jstl中的数据

时间:2023-03-08 16:59:56

我们在编程JSP时,有时会须要訪问jstl中的数据,或者说是el表达式中的数据。

比方,

<c:forEach    varStatus="data1" var="data" items="${alltemphotmeltdata}">

<tr>

<td>

${data.hNo }

</td>

<td>

${data.hDate }

</td>

<td>

${data.hHour }

</td>

<td>

${data.hEnd}

</td>

<td>

${data.hOperat }

</td>

</tr>

</c:forEach >

在上面代码段中,若想获取el表达式中的值进行处理时能够这样做:

<td>

<%

  String HGPS_latitude=((HotmeltData)pageContext.getAttribute("data")).getHGPS_latitude().toString().replace(".","").replace("度",".").replace("分","");

  String HGPS_longitude=((HotmeltData)pageContext.getAttribute("data")).getHGPS_longitude().toString().replace(".","").replace("度",".").replace("分","");

  float latitude=Float.parseFloat(HGPS_latitude.substring(0, 2))+Float.parseFloat(HGPS_latitude.substring(2, HGPS_latitude.length()))/60;

  float longitude=Float.parseFloat(HGPS_longitude.substring(0, 3))+Float.parseFloat(HGPS_longitude.substring(3, HGPS_longitude.length()))/60;

%>

<a href="http://api.map.baidu.com/marker?location=<%=latitude%>,<%=longitude%>&title=定位&content=百度&output=html" target="_blank">地图定位</a>



</td>

上面红色的地方就是能够获得el中的数据。

正如上面所说,能够利用

pageContext.getAttribute()

request.getAttribute()

session.getAttribute()

application.getAttribute()

得到值。

又如:

<c:set var="a" value="hello a" scope="request" />

<c:set var="b" value="hello b"/>



<%

out.print(request.getAttribute("a") + "<br/>");

out.print(pageContext.getAttribute("b"));

%>



同理,也能够从jsp中得到变量放入jstl的变量中。