📄 common.jsp
字号:
<%!
//
// Filename: Common.jsp
// 定义之后可能使用到的函数
static final String CRLF = "\r\n";
static final int UNDEFINT=Integer.MIN_VALUE;
static final int adText = 1;
static final int adDate = 2;
static final int adNumber = 3;
static final int adSearch_ = 4;
static final int ad_Search_ = 5;
static final String appPath ="/";
//Database connection string
static final String DBDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
static final String strConn ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:/BookStore_MSAccess.mdb";
static final String DBusername="";
static final String DBpassword="";
//载入驱动
public static String loadDriver ()
{
String sErr = "";
try {
java.sql.DriverManager.registerDriver((java.sql.Driver)(Class.forName(DBDriver).newInstance()));
}
catch (Exception e) {
sErr = e.toString();
}
return (sErr);
}
//遍历数据库
public static void absolute(java.sql.ResultSet rs, int row) throws java.sql.SQLException
{
for(int x=1;x<row;x++) rs.next();
}
//执行SQL语句,并返回ResultSet
java.sql.ResultSet openrs(java.sql.Statement stat, String sql) throws java.sql.SQLException
{
java.sql.ResultSet rs = stat.executeQuery(sql);
return (rs);
}
//功能? 查是否存在书籍
String dLookUp(java.sql.Statement stat, String table, String fName, String where)
{
java.sql.Connection conn1 = null;
java.sql.Statement stat1 = null;
try {
conn1 = cn();
stat1 = conn1.createStatement();
java.sql.ResultSet rsLookUp = openrs( stat1, "SELECT " + fName + " FROM " + table + " WHERE " + where);
if (! rsLookUp.next()) {
rsLookUp.close();
stat1.close();
conn1.close();
return "";
}
String res = rsLookUp.getString(1); //res存储第一行的第一列值
rsLookUp.close();
stat1.close();
conn1.close();
return (res == null ? "" : res);
}
catch (Exception e) {
return "";
}
}
//查询记录数
long dCountRec(java.sql.Statement stat, String table, String sWhere)
{
long lNumRecs = 0;
try {
java.sql.ResultSet rs = stat.executeQuery("select count(*) from " + table + " where " + sWhere);
if ( rs != null && rs.next() ) {
lNumRecs = rs.getLong(1);
}
rs.close();
}
catch (Exception e ) {};
return lNumRecs;
}
String proceedError(javax.servlet.http.HttpServletResponse response, Exception e)
{
return e.toString();
}
//获取所有列名
String[] getFieldsName ( java.sql.ResultSet rs ) throws java.sql.SQLException
{
java.sql.ResultSetMetaData metaData = rs.getMetaData();
int count = metaData.getColumnCount();
String[] aFields = new String[count];
for(int j = 0; j < count; j++) {
aFields[j] = metaData.getColumnLabel(j+1);
}
return aFields;
}
//获取列值,返回一个哈希表
java.util.Hashtable getRecordToHash ( java.sql.ResultSet rs, java.util.Hashtable rsHash, String[] aFields ) throws java.sql.SQLException
{
for ( int iF = 0; iF < aFields.length; iF++ ) {
rsHash.put( aFields[iF], getValue(rs, aFields[iF]));
}
return rsHash;
}
//连接数据库,返回Connection对象
java.sql.Connection cn() throws java.sql.SQLException
{
return java.sql.DriverManager.getConnection(strConn , DBusername, DBpassword);
}
//转化成URL
String toURL(String strValue)
{
if ( strValue == null ) return "";
if ( strValue.compareTo("") == 0 ) return "";
return java.net.URLEncoder.encode(strValue);
//encode(String) 将一字符串转换成 x-www-form-urlencoded 格式。
}
//转化成HTML语句
String toHTML(String value)
{
if ( value == null ) return "";
value = replace(value, "&", "&");
value = replace(value, "<", "<");
value = replace(value, ">", ">");
value = replace(value, "\", "&" + "quot;");
return value;
}
//获取fieldName列值,返回HTML格式
String getValueHTML(java.sql.ResultSet rs, String fieldName)
{
try {
String value = rs.getString(fieldName);
if (value != null) {
return toHTML(value);
}
}
catch (java.sql.SQLException sqle) {}
return "";
}
//获取strFieldName列值,返回String型
String getValue(java.sql.ResultSet rs, String strFieldName)
{
if ((rs==null) ||(isEmpty(strFieldName)) || ("".equals(strFieldName))) return "";
try {
String sValue = rs.getString(strFieldName);
if ( sValue == null ) sValue = "";
return sValue;
}
catch (Exception e) {
return "";
}
}
//获取请求中paramName参数值
String getParam(javax.servlet.http.HttpServletRequest req, String paramName)
{
String param = req.getParameter(paramName);
if ( param == null || param.equals("") ) return "";
param = replace(param,"&","&");
param = replace(param,"<","<");
param = replace(param,">",">");
param = replace(param,"&lt;","<");
param = replace(param,"&gt;",">");
return param;
}
//判断param是否数字
boolean isNumber (String param)
{
boolean result;
if ( param == null || param.equals("")) return true;
param=(param.replace('d','_')).replace('f','_');
try {
Double dbl = new Double(param);
result = true;
}
catch (NumberFormatException nfe) {
result = false;
}
return result;
}
//判断val是否为空
boolean isEmpty (int val)
{
return val==UNDEFINT;
}
//判断val是否为空
boolean isEmpty (String val)
{
return (val==null || val.equals("")||val.equals(Integer.toString(UNDEFINT)));
}
//获取复选框的值
String getCheckBoxValue (String val, String checkVal, String uncheckVal, int ctype)
{
if (val==null || val.equals("") ) return toSQL(uncheckVal, ctype);
else return toSQL(checkVal, ctype);
}
//将fieldName,fieldVal根据type类型合并成Where子句
String toWhereSQL(String fieldName, String fieldVal, int type)
{
String res = "";
switch(type) {
case adText:
if (! "".equals(fieldVal)) {
res = " " + fieldName + " like '%" + fieldVal + "%'";
}
case adNumber:
res = " " + fieldName + " = " + fieldVal + " ";
case adDate:
res = " " + fieldName + " = '" + fieldVal + "' ";
default:
res = " " + fieldName + " = '" + fieldVal + "' ";
}
return res;
}
//把value根据type类型转化成SQL语句
String toSQL(String value, int type)
{
if ( value == null ) return "Null";
String param = value;
if ("".equals(param) && (type == adText || type == adDate) ) {
return "Null";
}
switch (type) {
case adText: {
param = replace(param, "'", "''");
param = replace(param, "&", "&");
param = "'" + param + "'";
break;
}
case adSearch_:
case ad_Search_: {
param = replace(param, "'", "''");
break;
}
case adNumber: {
try {
if (! isNumber(value) || "".equals(param)) param="null";
else param = value;
}
catch (NumberFormatException nfe) {
param = "null";
}
break;
}
case adDate: {
param = "'" + param + "'";
break;
}
}
return param;
}
//把str中pattern全部替换成replace
private String replace(String str, String pattern, String replace)
{
if (replace == null) {
replace = "";
}
int s = 0, e = 0;
StringBuffer result = new StringBuffer((int) str.length()*2);
while ((e = str.indexOf(pattern, s)) >= 0) {
result.append(str.substring(s, e));
result.append(replace);
s = e + pattern.length();
}
result.append(str.substring(s));
return result.toString();
}
//从数据库中获取下拉框的选项
String getOptions( java.sql.Connection conn, String sql, boolean isSearch, boolean isRequired, String selectedValue )
{
String sOptions = "";
String sSel = "";
if ( isSearch ) {
sOptions += "<option value=\"\">All</option>";
}
else {
if ( ! isRequired ) {
sOptions += "<option value=\"\"></option>";
}
}
try {
java.sql.Statement stat = conn.createStatement();
java.sql.ResultSet rs = null;
rs = openrs (stat, sql);
while (rs.next() ) {
String id = toHTML( rs.getString(1) );
String val = toHTML( rs.getString(2) );
if ( id.compareTo(selectedValue) == 0 ) {
sSel = "SELECTED";
}
else {
sSel = "";
}
sOptions += "<option value=\""+id+"\" "+sSel+">"+val+"</option>";
}
rs.close();
stat.close();
}
catch (Exception e) {}
return sOptions;
}
//从数据库中获取下拉框的选项
String getOptionsLOV( String sLOV, boolean isSearch, boolean isRequired, String selectedValue )
{
String sSel = "";
String slOptions = "";
String sOptions = "";
String id = "";
String val = "";
java.util.StringTokenizer LOV = new java.util.StringTokenizer( sLOV, ";", true);
int i = 0;
String old = ";";
while ( LOV.hasMoreTokens() ) {
id = LOV.nextToken();
if ( ! old.equals(";") && ( id.equals(";") ) ) {
id = LOV.nextToken();
}
else {
if ( old.equals(";") && ( id.equals(";") ) ) {
id = "";
}
}
if ( ! id.equals("") ) { old = id; }
i++;
if (LOV.hasMoreTokens()) {
val = LOV.nextToken();
if ( ! old.equals(";") && (val.equals(";") ) ) {
val = LOV.nextToken();
}
else {
if (old.equals(";") && (val.equals(";"))) {
val = "";
}
}
if ( val.equals(";") ) { val = ""; }
if ( ! val.equals("")) { old = val; }
i++;
}
if ( id.compareTo( selectedValue ) == 0 ) {
sSel = "SELECTED";
}
else {
sSel = "";
}
slOptions += "<option value=\""+id+"\" "+sSel+">"+val+"</option>";
}
if ( ( i % 2 ) == 0 ) sOptions += slOptions;
return sOptions;
}
//
String getValFromLOV( String selectedValue , String sLOV)
{
String sRes = "";
String id = "";
String val = "";
java.util.StringTokenizer LOV = new java.util.StringTokenizer( sLOV, ";", true);
int i = 0;
String old = ";";
while ( LOV.hasMoreTokens() ) {
id = LOV.nextToken();
if ( ! old.equals(";") && ( id.equals(";") ) ) {
id = LOV.nextToken();
}
else {
if ( old.equals(";") && ( id.equals(";") ) ) {
id = "";
}
}
if ( ! id.equals("") ) { old = id; }
i++;
if (LOV.hasMoreTokens()) {
val = LOV.nextToken();
if ( ! old.equals(";") && (val.equals(";") ) ) {
val = LOV.nextToken();
}
else {
if (old.equals(";") && (val.equals(";"))) {
val = "";
}
}
if ( val.equals(";") ) { val = ""; }
if ( ! val.equals("")) { old = val; }
i++;
}
if ( id.compareTo( selectedValue ) == 0 ) {
sRes = val;
}
}
return sRes;
}
//验证用户权限
String checkSecurity(int iLevel, javax.servlet.http.HttpSession session, javax.servlet.http.HttpServletResponse response, javax.servlet.http.HttpServletRequest request)
{
try {
Object o1 = session.getAttribute("UserID");
Object o2 = session.getAttribute("UserRights");
boolean bRedirect = false;
if ( o1 == null || o2 == null ) { bRedirect = true; }
if ( ! bRedirect ) {
if ( (o1.toString()).equals("")) { bRedirect = true; }
else if ( (new Integer(o2.toString())).intValue() < iLevel) { bRedirect = true; }
}
if ( bRedirect ) {
response.sendRedirect("Login.jsp?querystring=" + toURL(request.getQueryString()) + "&ret_page=" + toURL(request.getRequestURI()));
return "sendRedirect";
}
}
catch(Exception e){};
return "";
}
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -