?? boardaction.java
字號:
package emptyprj;
import emptyprj.boardDAO;
import java.lang.reflect.InvocationTargetException;
import java.util.Locale;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.ModuleException;
import org.apache.struts.util.MessageResources;
import javawebstudio.struts_db.DbAction;
//import javawebstudio.struts_db.DbMySQLAction; //如果是MySQL,請用這一句。
import java.io.*;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;
import java.util.Map;
import java.util.HashMap;
//Struts.net支持類
import javawebstudio.struts_db.NetAction;
import javawebstudio.struts_db.NetForm;
//public final class boardAction extends DbMySQLAction //如果是MySQL,請用這一句。
public final class boardAction extends DbAction
{
// 變量定義:
private Log log = LogFactory.getLog("org.apache.struts.webapp.Example");
//定義方法find,查找數據:
public ActionForward find(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
// 首先定義屬性和變量以及設置初值
NetForm m_boardForm = (NetForm) form;
boardDAO m_boardDAO = new boardDAO(); //定義DAO對象,用于實現數據庫的各種操作
String action=request.getParameter("action"); //動作類型
String search=request.getParameter("search"); //數據庫查找方式
String expression=request.getParameter("expression"); //參數,這里用于保存記錄(行)的ID數據
if(action==null)action="find";
if(search==null)search="UNsearch";
if(expression==null)expression="";
//action=toChinese(action); //處理中文問題,實現編碼轉換,如果是用于MySQL,請加上這之一句
expression=toChinese(expression); //處理中文問題,實現編碼轉換,如果是用于MySQL,請去掉之一句
///////////////查找數據庫
//<sqlstr>
String sql="SELECT * FROM board";
//</sqlstr>
////SQL字符處理
if("search".equals(search))
{
//<search>
sql+=" where ID='";
if("NULL".equals(expression)||"".equals(expression)) sql+=m_boardForm .getInt("ID");
else sql+=expression;
sql+="'";
sql+=" order by parentID";
//</search>
}
//<分頁>
m_boardDAO.setLength(20);//設置每頁顯示記錄數
int ipage;//當前頁
try
{
String page=request.getParameter("page");//分頁參數,讀取請求的當前頁
ipage=java.lang.Integer.parseInt(page,10);
}
catch (Exception e)
{
ipage=m_boardForm.getPage();
}
if(ipage<1)ipage=1;
Collection col = m_boardDAO.findSQL(sql,ipage);//通過DAO對象查詢數據
request.setAttribute("board",col); //保存數據
String pagestr=m_boardDAO.getPagestr(ipage);//分頁字符串,分頁內容
if(!"search".equals(search)) //查找和全部顯示兩個不同的操作,其分頁字符串不同,在此進行處理。如果是全部顯示則去掉"search=search&"
{
pagestr=pagestr.replaceAll("search=search&","");
}
m_boardForm.set("pagestr",pagestr);
m_boardForm.set("action",action);
request.setAttribute("boardForm",m_boardForm);
//</分頁>
m_boardDAO.Close();
//轉發到輸出頁面,return mapping.findForward("success");
return new ActionForward(mapping.getInput());
}
//定義方法remove,刪除記錄:
public ActionForward remove(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
// 首先定義屬性和變量以及設置初值
NetForm m_boardForm = (NetForm) form;
boardDAO m_boardDAO = new boardDAO(); //定義DAO對象,用于實現數據庫的各種操作
String expression=request.getParameter("expression"); //參數,這里用于保存記錄(行)的ID數據
if(expression==null)expression="";
expression=toChinese(expression); //處理中文問題,實現編碼轉換
m_boardDAO.removeID(expression);
m_boardDAO.Close();
///////////////查找數據庫
return find( mapping,form,request,response);
}
//定義方法update,更新記錄:
public ActionForward update(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
// 首先定義屬性和變量以及設置初值
NetForm m_boardForm = (NetForm) form;
boardDAO m_boardDAO = new boardDAO(); //定義DAO對象,用于實現數據庫的各種操作
String expression=request.getParameter("expression"); //參數,這里用于保存記錄(行)的ID數據
if(expression==null)expression="";
expression=toChinese(expression); //處理中文問題,實現編碼轉換
m_boardDAO.update(m_boardForm ,expression);
m_boardDAO.Close();
///////////////查找數據庫
return find( mapping,form,request,response);
}
//定義方法insert,添加新記錄:
public ActionForward insert(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
// 首先定義屬性和變量以及設置初值
NetForm m_boardForm = (NetForm) form;
boardDAO m_boardDAO = new boardDAO(); //定義DAO對象,用于實現數據庫的各種操作
m_boardDAO.create(m_boardForm );
m_boardDAO.Close();
///////////////查找數據庫
return find( mapping,form,request,response);
}
public ActionForward 安裝(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
//NetForm myForm = (NetForm) form;
boardDAO m_boardDAO = new boardDAO(); //定義DAO對象,用于實現數據庫的各種操作
String sql="";
String filename=getServlet().getServletContext().getRealPath("/")+"\\install.sql";
FileReader fr = new FileReader(filename);
BufferedReader br = new BufferedReader(fr);
String s="";
s = br.readLine();
while ( s != null ) {
sql+=s;
sql=sql.trim();
int len=sql.length()-1;
if(len>1)
{
String lenstr=sql.substring(len);
if(";".equals(lenstr))
{
m_boardDAO.ExSql(sql);
sql="";
}
}
sql+="\n";
s= br.readLine();
}
br.close();// 關閉緩沖讀入流及文件讀入流的連接.
m_boardDAO.Close();
return (mapping.findForward("install"));
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -