📄 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 + -