📄 codingaction.java
字号:
package hospital.Controller.Actions.GeneralFunction;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
public class CodingAction extends Action {
private String codeType = ""; //表示编码的类型
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 listCodingRow = new ArrayList(); //用来存储该编码类型的所有编码的值
String pageFindForward = "";
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
Statement stmt = dbConn.createStatement();
//初始化页面的所有参数
initPageParameters(form, request);
//从数据库中编码的数据,并返回所指向的编码页面
pageFindForward=createCodingRow(stmt, listCodingRow);
stmt.close();
dbConn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
returnPageParameters(request, listCodingRow);
return mapping.findForward(pageFindForward);
}
private void setPropertyToOrginate() {
codeType = "";
}
private void initPageParameters(ActionForm form, HttpServletRequest request) {
setPropertyToOrginate();
codeType = request.getParameter("codetype");
}
private void returnPageParameters(HttpServletRequest request, ArrayList listCodingRow) {
request.setAttribute("listCodingRow", listCodingRow);
}
private String createCodingRow(Statement stmt, ArrayList listCodingRow) throws SQLException{
String pageFindForward = "";
String sql = "select * from sys编码表1 where codeType='" + codeType + "'";
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
boolean isEmpty = rs.next();
//查询sys编码表1,如果有对应的编码类型,则将所有该编码的值添加到listCodingRow中
if (isEmpty) {
while (isEmpty) {
listCodingRow.add(rs.getString("codeValue"));
isEmpty = rs.next();
}
//转到页面coding
pageFindForward = "coding";
} else {
//否则查询sys编码表2
sql = "select * from sys编码表2 where codeType='" + codeType + "'";
rs = stmt.executeQuery(sql);
String tableName = "";
String codeNameColumn = "";
String codeValueColumn = "";
//如果有对应的编码类型,则确定该编码对应的是哪张数据表的哪个关键字的列,以及编码翻译的列
if (rs.next()) {
tableName = rs.getString("tableName");
codeNameColumn = rs.getString("codeName");
codeValueColumn = rs.getString("codeValue");
}
sql = "select " + codeNameColumn + "," + codeValueColumn + " from " + tableName;
rs = stmt.executeQuery(sql);
//从该数据表中得到所有的编码编号和编码值
while (rs.next()) {
String[] contentRow = new String[2];
contentRow[0] = rs.getString(1);
contentRow[1] = rs.getString(2);
listCodingRow.add(contentRow);
}
//转到页面coding2
pageFindForward = "coding2";
}
rs.close();
return pageFindForward;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -