日期:2014-05-19  浏览次数:20556 次

JSP中一个对象无法使用,怎么回事,求帮助
下面这段代码中,老提示:hotelinfos cannot be resolved .好长时间了没解决,求帮助!!!


  <%
HotelInfo hotelinfoCondition = new HotelInfo();
hotelinfoCondition.setHotelName(hotelName);
hotelinfoCondition.setHotelType(hotelType);
System.out.println(hotelName);
System.out.println(flag); 
HotelInfoService hotelis = new HotelInfoService();
if(flag==1) {
List<Map<String,Object>> hotelinfos=hotelis.searchHotelInfos(hotelinfoCondition);
}else {
List<Map<String, Object>> hotelinfos = hotelis.listAllhotelinfos();}
for (int i = 0; i < hotelinfos.size(); i++) {
%>
<tr class="Label1_text_white">
<td><%=hotelinfos.get(i).get("HotelID")%></td>
<td><%=hotelinfos.get(i).get("HotelName")%></td>
<td><%=hotelinfos.get(i).get("HotelAddress")%></td>
<td align="center"><%=hotelinfos.get(i).get("HotelType")%></td>
<td align="center"><%=hotelinfos.get(i).get("IsAd")%></td>
<td align="center"><a href="Edit_hotel.jsp?HotelID=<%=hotelinfos.get(i).get("HotelID")%>">编辑</a></td>
</tr>
<%
}
%>



------解决方案--------------------
那要检查你最后生成的条件对不对了。

把这两个打印出来看看吧:
hotelinfoCondition.getHotelName().trim()

hotelinfoCondition.getHotelType().trim()


P.S. 你组装查询的方式有问题,主要是如果HotelName没有 而 HotelType 有的时候,就会多出一个 and