下拉列表初始化……贴两个例子
前面实例化一个job表jobbean的结果集crs1,其中有job_id和job_name字段
如果emp表bean的这一条记录与之相符,就设为默认
<select name="job_id">
<%
//判断job_id是否与此人的job_id相同,如相同,则增加selected,就是说初始化时将其选中
try
{
while(crs1.next())
{
if( CmsUtil.checkNull(crs1.getString("job_id")).equals(bean.getJob_id()))
{
out.print("<option selected value='"+crs1.getString("job_id").trim()+"'>" + crs1.getString("job_name").trim() + "</option>");
}
else
{
out.print("<option value='"+crs1.getString("job_id").trim()+"'>" + crs1.getString("job_name").trim()+"</option>");
}
}
}
catch(Exception e)
{}
%>
</select>
其中对我来说最麻烦的部分就是……字符串比较不可以用==而必须要.equals("string")这种办法
对于结果集的操作事实上都是在客户端完成的,并不会很慢
------------------------------------------------------------------------------------------------------
发展了上述办法 写了一个dropdownlist类,方法Output可以接受4个参数来返回所需的下拉列表
-------dropdownlist.java
package com.ddlucky;
import sun.jdbc.rowset.CachedRowSet;
import zt.cms.util.*;
import zt.cms.app.cache.*;
import zt.cms.db.*;
import zt.cms.app.sysmng.*;
import sun.jdbc.rowset.CachedRowSet;
import com.ddlucky.*;
public class Dropdownlist {
public String Output(CachedRowSet crs1,String bean,String value,String name)//操作emp表中的job_id,依据是job表中的job_name
//获取结果集,bean,用来插入表的ID,用来给人看的名字
{
CachedRowSet Crs1=crs1;
String Bean = bean;
// CachedRowSet Crs1=jobbean.getSearchList(null);
// CachedRowSet Bean=empbean.getSearchList(null);
String Value = value;
String Name = name;
String returnString = new String();
try
{
while(Crs1.next())
{
if( CmsUtil.checkNull(Crs1.getString(Value)).equals(Bean))
{
returnString+=("<option selected value='"+Crs1.getString(Value).trim()+"'>" + Crs1.getString(Name).trim() + "</option>");
}
else
{
returnString+=("<option value='"+Crs1.getString(Value).trim()+"'>" + Crs1.getString(Name).trim()+"</option>");
}
}
}
catch(Exception e)
{}
return(returnString);
}
}
-----------在jsp中的引用
<%
Dropdownlist dropdownlist = new Dropdownlist();
out.print(dropdownlist.Output(crs1,bean.getJob_id(),"job_id","job_name"));
%>
-------------------------------------------------------------与第一部分所述的结果完全一致,但是提高了聚合度。