📄 selectutil.java
字号:
package com.work.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.work.db.DbConnection;
import com.work.db.DbUtil;
import com.work.exception.OurException;
public class SelectUtil {
private static Log log = LogFactory.getLog(SelectUtil.class);
/**
* 自动生成下拉框的html。
* @param sql sql语句,只能查询两个字段。注意:第一个字段为select下拉框的值,第二个字段为显示的名称。
* 例如:select value,name from tablename 。显示<option value="1">男</option>
* @param selectName select 下拉框的名称
* @param value 默认选中的select下拉框的值。
* @param hasBlank 是否存在空选项。
* @return 一个select表单域的html(下拉框的html)
* @throws OurException
*/
public static String getNameValue(final String sql,String selectName,String value,boolean hasBlank) throws OurException{
if(sql.equals("") || sql==null){
throw new OurException("sql语句不能为空!");
}
StringBuffer sb = new StringBuffer("");
sb.append("<select name=\""+selectName+"\">");
if(hasBlank){
sb.append("<option value=\"\"></option>");
}
Connection conn = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sValue = "";
String sName = "";
try {
conn = DbConnection.getConn();
pst = conn.prepareStatement(sql);
rst = pst.executeQuery();
while(rst.next()){
sValue = rst.getString(1).trim();
sName = rst.getString(2).trim();
if(sValue.equals(value)){
sb.append("<option value=\""+sValue+"\" selected>"+sName+"</option>");
}else{
sb.append("<option value=\""+sValue+"\">"+sName+"</option>");
}
}
} catch (SQLException e) {
log.error(sql+"语句查询出错!",e);
}finally{
DbUtil.closeAll(rst,pst,conn);
}
sb.append("</select>");
return sb.toString();
}
/**
* 自动生成下拉框的html。
* @param sql sql语句,只能查询两个字段。注意:第一个字段为select下拉框的值,第二个字段为显示的名称。
* 例如:select value,name from tablename 。显示<option value="1">男</option>
* @param selectName select 下拉框的名称
* @param value 默认选中的select下拉框的值。
* @param hasBlank 是否存在空选项。
* @param js 这里的js为js字符串。例如 " onchange=\"changeYear()\" " ,这样任何js的方法就可以在jsp页面中编写,方便引入。
* 如果不使用请传入空字符串。
* @return 一个select表单域的html(下拉框的html)
* @throws OurException
*/
public static String getNameValue(final String sql,String selectName,String value,boolean hasBlank,String js) throws OurException{
if(sql.equals("") || sql==null){
throw new OurException("sql语句不能为空!");
}
StringBuffer sb = new StringBuffer("");
sb.append("<select name=\""+selectName+"\" "+js+">");
if(hasBlank){
sb.append("<option value=\"\"></option>");
}
Connection conn = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sValue = "";
String sName = "";
try {
conn = DbConnection.getConn();
pst = conn.prepareStatement(sql);
rst = pst.executeQuery();
while(rst.next()){
sValue = rst.getString(1).trim();
sName = rst.getString(2).trim();
if(sValue.equals(value)){
sb.append("<option value=\""+sValue+"\" selected>"+sName+"</option>");
}else{
sb.append("<option value=\""+sValue+"\">"+sName+"</option>");
}
}
} catch (SQLException e) {
log.error(sql+"语句查询出错!",e);
}finally{
DbUtil.closeAll(rst,pst,conn);
}
sb.append("</select>");
return sb.toString();
}
/**
* 自动生成下拉框的html。
* @param sql sql语句,只能查询两个字段。注意:第一个字段为select下拉框的值,第二个字段为显示的名称。
* 例如:select value,name from tablename 。显示<option value="1">男</option>
* @param selectName select 下拉框的名称
* @param value 默认选中的select下拉框的值。
* @return 一个select表单域的html(下拉框的html)
* @throws OurException
*/
public static String getNameValue(final String sql,String selectName,String value) throws OurException{
if(sql.equals("") || sql==null){
throw new OurException("sql语句不能为空!");
}
StringBuffer sb = new StringBuffer("");
sb.append("<select name=\""+selectName+"\">");
Connection conn = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sValue = "";
String sName = "";
try {
conn = DbConnection.getConn();
pst = conn.prepareStatement(sql);
rst = pst.executeQuery();
while(rst.next()){
sValue = rst.getString(1).trim();
sName = rst.getString(2).trim();
if(sValue.equals(value)){
sb.append("<option value=\""+sValue+"\" selected>"+sName+"</option>");
}else{
sb.append("<option value=\""+sValue+"\">"+sName+"</option>");
}
}
} catch (SQLException e) {
log.error(sql+"语句查询出错!",e);
}finally{
DbUtil.closeAll(rst,pst,conn);
}
sb.append("</select>");
return sb.toString();
}
/**
* 自动生成下拉框的html。
* @param sql sql语句,只能查询两个字段。注意:第一个字段为select下拉框的值,第二个字段为显示的名称。
* 例如:select value,name from tablename 。显示<option value="1">男</option>
* @param selectName select 下拉框的名称
* @param value 默认选中的select下拉框的值。
* @param js 这里的js为js字符串。例如 " onchange=\"changeYear()\" " ,这样任何js的方法就可以在jsp页面中编写,方便引入。
* @return 一个select表单域的html(下拉框的html)
* @throws OurException
*/
public static String getNameValue(final String sql,String selectName,String value,String js) throws OurException{
if(sql.equals("") || sql==null){
throw new OurException("sql语句不能为空!");
}
StringBuffer sb = new StringBuffer("");
sb.append("<select name=\""+selectName+"\" "+js+">");
Connection conn = null;
PreparedStatement pst = null;
ResultSet rst = null;
String sValue = "";
String sName = "";
try {
conn = DbConnection.getConn();
pst = conn.prepareStatement(sql);
rst = pst.executeQuery();
while(rst.next()){
sValue = rst.getString(1).trim();
sName = rst.getString(2).trim();
if(sValue.equals(value)){
sb.append("<option value=\""+sValue+"\" selected>"+sName+"</option>");
}else{
sb.append("<option value=\""+sValue+"\">"+sName+"</option>");
}
}
} catch (SQLException e) {
log.error(sql+"语句查询出错!",e);
}finally{
DbUtil.closeAll(rst,pst,conn);
}
sb.append("</select>");
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -