欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp自定义标签下拉框

程序员文章站 2022-04-14 10:17:24
package com.soft.test;    import java.sql.*;    import sun.jdbc.odbc.ee.connect...

package com.soft.test;
 
 import java.sql.*;
 
 import sun.jdbc.odbc.ee.connectionpool;
 
 public class basedao {
     //定义数据源驱动
     private static final string drive="oracle.jdbc.driver.oracledriver";
     //定义连接字符串
     private static final string url="jdbc:oracle:thin:@10.72.240.34:1522:ffv2dev2";
     //用户名
     private static final string uid="produsr";
     //密码
     private static final string pwd="prod_123";
     //获得连接
     public static connection getconnection()
     { 
         connection con=null;
         try {
             //加载驱动
             class.forname(drive);
             //建立连接
             con=drivermanager.getconnection(url,uid,pwd);
         } catch (exception e) {
             e.printstacktrace();
         }
         return con;
     }
     //运行有结果,没有参数的sql语句
     public static resultset resultrunselectsql(string sql)
     {
         connection con=null;
         preparedstatement ps=null;
         resultset res=null;
         try
         {
         con=getconnection();
         ps=con.preparestatement(sql);
         res=ps.executequery();  
         }
         catch(exception e)
         {
             e.printstacktrace();
         }
         return res;
     }
     //执行有结果有参数的sql语句
     public static resultset runselectsql(string sql,object[] params)
     {
         connection con=null;
         preparedstatement pre=null;
         resultset res=null;
         
         try {
             con=getconnection();
             pre=con.preparestatement(sql);
           for(int i=0;i<params.length;i++)
           {
               pre.setobject(i+1, params[i]);
               
           }
           res=pre.executequery();
         } catch (exception e) {
             // todo auto-generated catch block
             e.printstacktrace();
         }
         return res;
     }
     
     //运行没有结果,没有参数的sql语句
     public static boolean runupdatesql(string sql)
     
     {
         connection con=null;
         preparedstatement ps=null;
         resultset res=null;
         try
         {
             con=getconnection();
             ps=con.preparestatement(sql);
             
         ps.executeupdate();
         return true;
             
         }
         catch(exception e)
         {
             e.printstacktrace();
             return false;
         }
         
         
     }
     //执行有结果有参数的sql语句
     public static boolean runupdatesql(string sql,object[] params)
     {
         connection con=null;
         preparedstatement pre=null;
     
         
         try {
             con=getconnection();
             pre=con.preparestatement(sql);
           for(int i=0;i<params.length;i++)
           {
               pre.setobject(i+1, params[i]);
                
           }
           pre.executeupdate();
           return true;
         } catch (exception e) {
             // todo auto-generated catch block
             e.printstacktrace();
             return false;
         }   
     }
 }
 [java]
 package com.soft.test;
 
 import java.io.ioexception;
 import java.sql.connection;
 import java.sql.preparedstatement;
 import java.sql.resultset;
 import java.sql.sqlexception;
 
 import javax.servlet..jspexception;
 import javax.servlet.jsp.jspwriter;
 import javax.servlet.jsp.tagext.tagsupport;
 
 public class mytag extends tagsupport{
     private string tablename;//表明
     private string label;//下拉框要显示的名称
     private string value;//下拉框的值
     private string where;//条件
     private string selectname;//下拉框的名称
     private string selectid;//下拉款的id
 @override
 public int doendtag() throws jspexception {
     // todo auto-generated method stub
     jspwriter out=this.pagecontext.getout();
     string sql="select "+label+","+value+" from "+tablename+" "+where+"";//定义sql语句
     connection conn=basedao.getconnection();
     try {
         preparedstatement ps=conn.preparestatement(sql);
         resultset res=ps.executequery();
         out.print("<select id=\""+selectid+"\" name=\""+selectname+"\">");
         out.print("<option value=\"\">请选择</option>");
         while(res.next()){
             object values=res.getobject(value);
             object labels=res.getobject(label);
             out.print("<option value=\""+values+"\">"+labels+"</option>");
         }
         out.print("</select>");
     } catch (sqlexception e) {
         // todo auto-generated catch block
         e.printstacktrace();
     } catch (ioexception e) {
         // todo auto-generated catch block
         e.printstacktrace();
     }finally{
     
     }
     return super.doendtag();
 }
 public string gettablename() {
     return tablename;
 }
 public void settablename(string tablename) {
     this.tablename = tablename;
 }
 public string getlabel() {
     return label;
 }
 public void setlabel(string label) {
     this.label = label;
 }
 public string getvalue() {
     return value;
 }
 public void setvalue(string value) {
     this.value = value;
 }
 public string getwhere() {
     return where;
 }
 public void setwhere(string where) {
     this.where = where;
 }
 public string getselectname() {
     return selectname;
 }
 public void setselectname(string selectname) {
     this.selectname = selectname;
 }
 public string getselectid() {
     return selectid;
 }
 public void setselectid(string selectid) {
     this.selectid = selectid;
 }
 
 }
 
[java]
 <?xml version="1.0" encoding="utf-8"?>
 <!doctype taglib public "-//sun microsystems, inc.//dtd jsp tag library 1.2//en"
                         "https://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
 <taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name>s</short-name>
  <uri>https://www.574394550.com</uri>
  
  <tag>
  <name>select</name>
  <tag-class>com.soft.test.mytag</tag-class>
  <body-content>empty</body-content>
  <attribute>
  <name>tablename</name>
  <required>true</required>
  </attribute>
  
   <attribute>
  <name>label</name>
  <required>true</required>
  </attribute>
  
    <attribute>
  <name>value</name>
  <required>true</required>
  </attribute>
  
   <attribute>
  <name>where</name>
  <required>true</required>
  </attribute>
  
   <attribute>
  <name>selectname</name>
  <required>true</required>
  </attribute>
  
   <attribute>
  <name>selectid</name>
  <required>true</required>
  </attribute>
  </tag>
 </taglib>
 
[java]
 <%@ page language="java"  pageencoding="gbk"%>
 <%@ taglib uri="" prefix="s" %>
 <%
 string path = request.getcontextpath();
 %>
 <!doctype html public "-//w3c//dtd html 4.01 transitional//en">
 <html>
   <head>
     <title>my jsp 'index.jsp' starting page</title>
   </head>
   
   <body>
     this is my jsp page. <br>
     <s:select selectname="select" selectid="select" label="user_name" value="user_id" tablename="tu_oaf_users" where="where 1=1"/>
   </body>
 </html>
 
 摘自xinghui_liu的专栏