示例代码
MyClass obj = new MyClass() // 数据库表对应的类
ArrayList al = new ArrayList()
while(rs.next()){
obj.setXXX(rs.getString(1))
....
// 将对应的rs的值放入对象相应的域
al.add(obj) //将obj放入ArrayList
}使用的时候:
MyClass obj = (myClass)al.get(i);
即可
MyClass obj = new MyClass() // 数据库表对应的类
ArrayList al = new ArrayList()
while(rs.next()){
obj.setXXX(rs.getString(1))
....
// 将对应的rs的值放入对象相应的域
al.add(obj) //将obj放入ArrayList
}使用的时候:
MyClass obj = (myClass)al.get(i);
即可
解决方案 »
- Google Map 会突然打不开(网上有人说清缓存?)
- Tomcat做Servlet容器,出现访问根目录不能用link标签引入外部CSS文件的情况,问题很古怪,怎么都找不到原因。
- JSF自定义组件 如何处理ArrayList类型的参数
- 关于操作数据库的问题
- 新手请问FORM值的编码问题
- 高分求displaytag分页问题:如何用下拉列表选择分页?
- 学习的先后顺序呀?
- 怎么给tomcat添加一个用户?
- 请问:如何能做到,点击超连后,触发一个CLASS的方法?
- 高分请教高手:如何将Excel表单通过jsp嵌入到IE(或者Netscape)中
- session.getAttribute(string),string有什么作用?
- 为什么我的tomcat不能重启?
取数据时的i是不是数组al的索引值啊?
可不可以直接用:
al[i] ?
bean里的代码:
private String[][] sProList; public void setProList(String[][] prolist) {
this.sProList = prolist;
} public String getProList() { StringBuffer StrDate = new StringBuffer();
if (! (sProList == null)) {
for (int i = 0; i < sProList.length; i++) {
for (int j = 0; j < 2; j++) {
if (sProList[i][j] == null) {
sProList[i][j] = "";
}
}
StrDate.append("<tr>");
StrDate.append("<td align=left>");
StrDate.append(
"<a href=\"javascript:changeProject('" + sProList[i][0] + "');\" >");
StrDate.append(sProList[i][0]);
StrDate.append("</a></td>");
StrDate.append("<td>");
StrDate.append(
"<a href=\"javascript:changeProject('" + sProList[i][0] + "');\" >");
StrDate.append(sProList[i][1]);
StrDate.append("</a></td>");
StrDate.append("</tr>");
}
} else {
StrDate.append("");
}
return StrDate.toString();
}
你可以在数据bean中这样把数组set进去
int listCount = ……
String[][] sList = new String[listCount][2];
int j = 0;
while (rs.next()) {
sList[j][0] = rs.getString(1);
sList[j][1] = rs.getString(2);
//set the list to the StoreBean
projectStore.setProList(sList);
j++;
}
this.sDName = dname;
}public String getDname() {
StringBuffer StrDate = new StringBuffer();
for (int i = 0; i < sDName.length; i++) {
if (this.sDeptName == null) {
StrDate.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +
"</option>");
} else {
if (this.sDeptName.equals(sDName[i])) { StrDate.append("<option value=\"" + sDName[i] + "\" selected>" +
sDName[i] +
"</option>");
} else {
StrDate.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +
"</option>");
}
}
}
return StrDate.toString();
} int iCount = ……//数组上限
String sDName = new String[iCount];
int m = 0;
while (rs.next()) {
sDName[m] = rs.getString(1);
m++;
}
//set deptname
projectStore.setDname(sDName);
bean中
while(rs_listclass!=null && rs_listclass.next())
{
vector.add(rs_listclass.getString(1).trim());
vector.add(rs_listclass.getString(1).trim());
}页面中
for(int i=0;i<vct.size();i+=2)
{
<%=vct.get(i)%>
<%=vct.get(i+1)%>
}
注意页面重要import="java.util.*"
bean中
while(rs_listclass!=null && rs_listclass.next())
{
vector.add(rs_listclass.getString(1).trim());
vector.add(rs_listclass.getString(1).trim());
}页面中
for(int i=0;i<vct.size();i+=2)
{
<%=vct.get(i)%>
<%=vct.get(i+1)%>
}
注意页面重要import="java.util.*"
我那个方法里面写的就是如何在jsp页面现实数组的内容阿,呵呵
你直接用这个就可以了:
public String getDname() {
StringBuffer StrData = new StringBuffer();
for (int i = 0; i < sDName.length; i++) {
StrData.append("<option value=\"" + sDName[i] + "\">" + sDName[i] +"</option>");
}
return StrData.toString();
}
这个的结果是以下拉选单的形式在页面显示数组中的内容,我把他也写道bean里了,这样jsp
页面只需要写
<select name="dname" >
<%=singleProject.getDname()%>
</select>
就可以了。
ArrayList al = new ArrayList()
while(rs.next()){
obj.setXXX(rs.getString(1))
....
// 将对应的rs的值放入对象相应的域
al.add(obj) //将obj放入ArrayList
}使用的时候是这样用:
MyClass obj = (myClass)al.get(i);
而不是al[i].如果你一定要用数组,可以在上面那段后面加上: MyClass[] objs = new CalcPlan [al.size()];
al.toArray(objs);
那你用的时候就可以这样用了。obj[i]
试这样的,这就要看你的get方法返回的是一个什么值,我的返回的是一个字符串,所以直接就可以显示,你也可以一个一个的取出数组里的值
MyClass obj = (myClass)al.get(i);
而不是al[i].上面是不是在bean内使用?
如果在JSP中调用,怎么调用呢?也是一样的吗?