selecttag.java
来自「自定义jsp标签」· Java 代码 · 共 91 行
JAVA
91 行
package com.ctele.dtboss.pub.tag;
//导入标签类的驱动
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.sql.*;
import com.ctele.dtboss.pub.DBUtil;
//实现TagSupport或BodyTagSupport接口
public class SelectTag
extends TagSupport {
Connection connect = null;
Statement state = null;
ResultSet result = null;
protected String name;
protected String tableName;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getTableName()
{
return tableName;
}
public void setTableName(String tableName)
{
this.tableName = tableName;
}
//抽象类Tag的方法,标签处理程序的初始化
public int doStartTag() throws JspTagException {
//指导JSP引擎处理标签的体内容
return EVAL_BODY_INCLUDE;
}
//执行标签任务
public int doEndTag() throws JspTagException {
try {
JspWriter out = pageContext.getOut();
connect = DBUtil.getTestConn();
state = connect.createStatement();
String strTable = "select param_column,value_column from bndict_table where table_name='"+tableName+"'";
System.out.println("取显示表的字段: " + strTable);
ResultSet result1 = state.executeQuery(strTable);
result1.next();
String paramColumn = result1.getString(1);
String valueColumn = result1.getString(2);
String strQuery = "select "+paramColumn+","+valueColumn+" from "+tableName;
System.out.println("取静态数据: " + strQuery);
state = connect.createStatement();
ResultSet result = state.executeQuery(strQuery);
String sId = null;
String sAddress = null;
StringBuffer tag = new StringBuffer();
tag.append("<select name=\""+name+"\">\n");
while (result.next()) {
sId = result.getString(1);
sAddress = result.getString(2);
tag.append("<option value=\""+sId+"\">"+sAddress+"</option>\n");
}
tag.append("<select/>");
pageContext.getOut().print(tag.toString());
}
catch (Exception ioe) {
System.out.println(" Error in getting results" + ioe.toString());
}
//指出对JSP页面其余部分求值
return EVAL_PAGE;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?