我们在编程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的变量中。