|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-04-11 关键字: hibernate
要求在输入框随便输入一条sql语句,在下面得到查询结果,这要求jsp显示页面是动态的,大家有啥想法吗?
我快搞疯了. 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-04-11
用纯字串来,我作过。。。不过安全性低到底。。。
第一条sql 得出ResultSet 把数据一个个分析出来写入 一个两维数组[][] 把这两维数组中的数据中写入<tr>,<td> 组成纯字串 之后页面上写 <table> <%=request.getAttriblet("stringForTable")%> </table> |
|
| 返回顶楼 | |
|
时间:2007-04-11
抛出异常的爱 写道 用纯字串来,我作过。。。不过安全性低到底。。。
老兄,能详细点吗?我快被逼疯了,指点一下.
第一条sql 得出ResultSet 把数据一个个分析出来写入 一个两维数组[][] 把这两维数组中的数据中写入<tr>,<td> 组成纯字串 之后页面上写 <table> <%=request.getAttriblet("stringForTable")%> </table> |
|
| 返回顶楼 | |
|
时间:2007-04-11
package common;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class String2HtmlTools {
public static StringBuffer buffer = null;
public static String List2HtmlStringTools(List[] lists){
buffer= new StringBuffer();
List list = null;
list = lists[0];
int maxrow = list.size();
for(int j = 0 ; j <maxrow;j++){
buffer.append("<tr>");
for(int i = 0 ;i<lists.length;i++){
list = lists[i];
buffer.append("<td>");
buffer.append(list.get(j).toString());
buffer.append("</td>");
}
buffer.append("</tr>");
}
return buffer.toString();
}
public static List Map2List(Map map,String key){
List list = (List)map.get(key);
return list;
}
public static List[] map2Lists(Map map){
List[] lists = null;
List list = null;
List keylist = new ArrayList();
keylist.addAll(map.keySet());
lists = new List[keylist.size()];
Iterator it = keylist.iterator();
int i = 0;
while(it.hasNext()){
lists[i] = new ArrayList();
String name =(String)it.next();
lists[i].add(name);
list = (List)map.get(name);
lists[i].addAll(list);
i++;
}
return lists;
}
}
|
|
| 返回顶楼 | |
|
时间:2007-04-11
package common;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import junit.framework.Assert;
import junit.framework.TestCase;
public class String2HtmlToolsTest extends TestCase {
List [] lists = null;
public static void main(String[] args) {
junit.swingui.TestRunner.run(String2HtmlToolsTest.class);
}
protected void setUp() throws Exception {
//super.setUp();
}
protected void tearDown() throws Exception {
super.tearDown();
}
public void testString2HtmlonceList(){
List list = null;
lists = new List[1];
{
list = new ArrayList();
list.add("1000");
list.add("2000");
lists[0]=list;
}
String html = String2HtmlTools.List2HtmlStringTools(lists);
this.assertEquals(html,"<tr><td>1000</td></tr><tr><td>2000</td></tr>");
}
public void testString2HtmltwiceList(){
List list = null;
lists = new List[2];
{
list = new ArrayList();
list.add("1000");
list.add("2000");
lists[0]=list;
}
{
list = new ArrayList();
list.add("1000");
list.add("2000");
lists[1]=list;
}
String html = String2HtmlTools.List2HtmlStringTools(lists);
assertEquals(html,
"<tr>" +
"<td>1000</td>" +
"<td>1000</td>"+
"</tr>" +
"<tr>" +
"<td>2000</td>" +
"<td>2000</td>" +
"</tr>");
}
public void testString2HtmlthreeList(){
List list = null;
lists = new List[3];
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
lists[0]=list;
}
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
lists[1]=list;
}
{
list = new ArrayList();
list.add("10");
list.add("20");
list.add("30");
lists[2]=list;
}
String html = String2HtmlTools.List2HtmlStringTools(lists);
this.assertEquals(html,
"<tr>" +
"<td>1000</td>" +
"<td>1000</td>"+
"<td>10</td>"+
"</tr>" +
"<tr>" +
"<td>2000</td>" +
"<td>2000</td>" +
"<td>20</td>" +
"</tr>"+
"<tr>" +
"<td>3000</td>" +
"<td>3000</td>"+
"<td>30</td>"+
"</tr>" );
}
public void testMap2ListArray(){
List list = null;
Map map = new HashMap();
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
map.put("2001",list);
}
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
map.put("2002",list);
}
{
list = new ArrayList();
list.add("10");
list.add("20");
list.add("30");
map.put("2003",list);
}
assertEquals(3,((List)map.get("2001")).size());
assertEquals(3,((List)map.get("2002")).size());
assertEquals(3,((List)map.get("2003")).size());
List keylist = new ArrayList();
keylist.addAll(map.keySet());
lists = new List[keylist.size()+1];
lists[0] = keylist;
Iterator it = keylist.iterator();
int i = 1;
while(it.hasNext()){
list = String2HtmlTools.Map2List(map,it.next().toString());
lists[i]=list;
i++;
}
//lists = null;
assertEquals(4,lists.length);
assertEquals(3,lists[0].size());
assertEquals(3,lists[1].size());
assertEquals(3,lists[2].size());
assertEquals(3,lists[3].size());
}
public void testAll(){
List list = null;
Map map = new HashMap();
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
map.put("2001",list);
}
{
list = new ArrayList();
list.add("1000");
list.add("2000");
list.add("3000");
map.put("2002",list);
}
{
list = new ArrayList();
list.add("10");
list.add("20");
list.add("30");
map.put("2003",list);
}
assertEquals(3,((List)map.get("2001")).size());
assertEquals(3,((List)map.get("2002")).size());
assertEquals(3,((List)map.get("2003")).size());
lists = String2HtmlTools.map2Lists(map);
String html = String2HtmlTools.List2HtmlStringTools(lists);
this.assertEquals(html,
"<tr>" +
"<td>2001</td>" +
"<td>2002</td>"+
"<td>2003</td>"+
"</tr>" +
"<tr>" +
"<td>1000</td>" +
"<td>1000</td>"+
"<td>10</td>"+
"</tr>" +
"<tr>" +
"<td>2000</td>" +
"<td>2000</td>" +
"<td>20</td>" +
"</tr>"+
"<tr>" +
"<td>3000</td>" +
"<td>3000</td>"+
"<td>30</td>"+
"</tr>" );
}
}
|
|
| 返回顶楼 | |
|
时间:2007-04-11
先获得文本框的value(sql语句)
然后提交到本页 用jstl显示 <sql:setDataSource driver=数据库驱动 url=连接数据库的url user=连接数据库的用户名 password=该用户名的密码 var=该连接的名称"con"> <sql:query var="rs" dataSource="${con}"> sql语句 </sql:query> <table> <tr> <c:forEach items="${rs.columNames}" var="colName"> <td><c:out value="${colName}"/></td> </c:forEach> </tr> <c:forEach var="row" items="${rs.rowsByIndex}"> <tr> <c:forEach var="col" items ="${row}"> <td><c:out value="${col}"></td> </c:forEach> </tr> </c:forEach> </table> |
|
| 返回顶楼 | |
|
时间:2007-04-12
抛出异常的爱 大哥真是好人呀
blu3leaf 的方法不错 |
|
| 返回顶楼 | |
|
时间:2007-04-12
to blu3leaf:
你的这种方法如何获得字段名,jstl可以自动解析吗? |
|
| 返回顶楼 | |
|
时间:2007-04-12
这个 东西 官方 也有 WEB 的 吧!
|
|
| 返回顶楼 | |
|
时间:2007-04-12
piaochunzhi 写道 这个 东西 官方 也有 WEB 的 吧! 啥意思?
|
|
| 返回顶楼 | |







