问题描述
我是新手,程序是从jsp页面传参数(SQL语句)进入java类中,然后存入哈希表中,哈希表再传入list中,怎样从list取出来,再出hashmap中取出,请问用jsp怎么写。作用是在jsp页面上写入SQL语句,点击执行下面显示查询结果。相关代码:publicstaticListexecuteQueryStringList(Stringsql){if(sql==null||sql.trim().equals("")){log.info("参数sql不能为空,必须是select语句。");thrownewNullPointerException("sql参数不能为空字符串或者null。");}Connectionconn=null;PreparedStatementpst=null;ResultSetrst=null;Listl=newArrayList();try{conn=DbConnection.getConn();//打开链接pst=conn.prepareStatement(sql);//开始执行sqlResultSetMetaDatarsmd=pst.getMetaData();intcolumnCount=rsmd.getColumnCount();//获取所有的列数;String[]columnStr=newString[columnCount];for(inti=1;i<=columnCount;i++){columnStr[i-1]=rsmd.getColumnName(i).toLowerCase();//都转换为小写}rst=pst.executeQuery();while(rst.next()){String[]tempObject=newString[columnCount];for(inti=0;i<columnCount;i++){tempObject[i]=rst.getObject(columnStr[i])==null?"":rst.getObject(columnStr[i]).toString();//如果key和value任意一个为null,均会抛出异常}l.add(tempObject);}if(l.size()<1)l=null;}catch(SQLExceptione){log.error(sql+"语句查询出错!",e);returnnull;}finally{closeAll(rst,pst,conn);}returnl;}
解决方案
解决方案二:
在jsp页面上<%@pagecontentType="text/html"import="java.util.*"%><%@pagepageEncoding="UTF-8"%><jsp:useBeanclass="executeQueryStringList(Stringsql)方法所在的类名"id="db"scope="page"></jsp:useBean><%Stringsql="自定义SQL语句";ArrayListliuyanList=(ArrayList)db.executeQueryStringList(Stringsql);%>----------接下来就是显示<%for(inti=0;i<liuyanList.size();i++){String[]text=(String[])liuyanList.get(i);%><%=text[2]%><<<<<<第三个属性的值<%}%>