searchaction.java
来自「医院信息系统(Hospital Information System」· Java 代码 · 共 87 行
JAVA
87 行
package hospital.Controller.Actions.GeneralFunction;
import org.apache.struts.action.*;
import hospital.Foundation.DataFixing;
import javax.servlet.http.*;
import java.net.*;
import java.sql.*;
import java.util.*;
public class SearchAction extends Action {
private String baseTableName = "";
private String superTableName = "";
private String modified = "";
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=hospital";
String userName = "sa";
String userPwd = "";
Connection dbConn;
//存储数据表每一列的标题
ArrayList listColumnName = new ArrayList(30);
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
Statement stmt = dbConn.createStatement();
//初始化页面的所有参数
initPageParameters(request);
//得出要查询的数据表的所有列的列名
createColumnName(stmt, listColumnName);
} catch (Exception ex) {
ex.printStackTrace();
}
//将参数和查询结果发往结果页面
returnPageParameters(request, listColumnName);
return mapping.findForward("search");
}
//将所有成员变量归为初始值
private void setPropertyToOrginate(){
baseTableName = "";
superTableName = "";
modified = "";
}
//初始化页面的所有参数
private void initPageParameters(HttpServletRequest request) throws Exception{
//将所有成员变量归为初始值
setPropertyToOrginate();
baseTableName = DataFixing.trimNULL(request.getParameter("base_tablename"));
superTableName = DataFixing.trimNULL(request.getParameter("super_tablename"));
modified = DataFixing.trimNULL(request.getParameter("modified"));
baseTableName = URLDecoder.decode(baseTableName.replace('!', '%'), "UTF-8");
superTableName = URLDecoder.decode(superTableName.replace('!', '%'), "UTF-8");
}
//得出要查询的数据表的所有列的列名
private void createColumnName(Statement stmt,ArrayList listColumnName) throws SQLException{
String sql = "select * from " + superTableName;
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 1; i <= rsmd.getColumnCount(); i++) {
listColumnName.add(rsmd.getColumnName(i));
}
}
//将参数和查询结果发往结果页面
private void returnPageParameters(HttpServletRequest request, ArrayList listColumnName) {
request.setAttribute("listColumnName", listColumnName);
request.setAttribute("baseTableName", baseTableName);
request.setAttribute("superTableName", superTableName);
request.setAttribute("modified", modified);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?