?? menulistaction.java
字號:
package hospital.Controller.Actions.UserRole;
import org.apache.struts.action.*;
import hospital.Foundation.DataFixing;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
public class MenuListAction extends Action {
String roleNo="";
String successFlag = ""; //用來表示保存是否成功
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 listMenuItems = new ArrayList();
StringBuffer checkedMenuItems = new StringBuffer(1000);
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
Statement stmt = dbConn.createStatement();
ResultSet rs = null;
//初始化頁面的所有參數
initPageParameters(form, request);
createMenuItems(stmt, listMenuItems);
checkMenuItems(stmt, checkedMenuItems);
stmt.close();
dbConn.close();
} catch (Exception ex) {
ex.printStackTrace();
}
returnPageParameters(request, listMenuItems, checkedMenuItems);
return mapping.findForward("menulist");
}
private void setPropertyToOrginate() {
roleNo="";
successFlag="";
}
private void initPageParameters(ActionForm form, HttpServletRequest request) {
setPropertyToOrginate();
roleNo=request.getParameter("roleNo");
successFlag=(String)request.getAttribute("successFlag");
if(successFlag==null){
successFlag="0";
}
}
private void createMenuItems(Statement stmt, ArrayList listMenuItems) throws SQLException {
String sortSQL = " order by depth,sequenceNO";
String sql = "select * from sys菜單表 " + sortSQL; //" where menuID in (" + conditionSQL + ")" + sortSQL;
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
listMenuItems.add("'" + DataFixing.trimNULL(rs.getString("menuID")) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("parentID")) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("name")) + "',"
+ "'" + DataFixing.trimNULL(""/*rs.getString("url")*/) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("title")) + "',"
+ "'" + DataFixing.trimNULL(""/*rs.getString("target")*/) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("icon")) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("iconOpen")) + "',"
+ "'" + DataFixing.trimNULL(rs.getString("isOpened")) + "'");
}
rs.close();
}
private void checkMenuItems(Statement stmt, StringBuffer checkedMenuItems) throws SQLException {
String sql = "select 菜單編號 from sys角色菜單表 where 角色編號='"+roleNo+"' order by 菜單編號";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
checkedMenuItems.append(rs.getString(1) + ",");
}
checkedMenuItems.trimToSize();
rs.close();
}
private void returnPageParameters(HttpServletRequest request, ArrayList listMenuItems, StringBuffer checkedMenuItems) {
request.setAttribute("roleNo", roleNo);
request.setAttribute("successFlag", successFlag);
request.setAttribute("listMenuItems", listMenuItems);
request.setAttribute("checkedMenuItems", checkedMenuItems.toString());
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -