##実現したいこと
入力フォームのチェックを行い、引っかかったものは、
エラーメッセージを表示する。
エラーメッセージがある場合のみ、投稿処理を行わない。
下記ソースにどのようなロジックを書いたら良いかわかりません。
教えて頂けないでしょうか?
##ソースコード
import java.io.;
import javax.servlet.;
import javax.servlet.http.*;
public class BBSServlet extends HttpServlet {
///////////////////// メンバ変数 ///////////////////
ServletContext sc;
BBSManagerBeans bbsManager;
///////////////////// 初期化 ///////////////////
public void init(ServletConfig config)
throws ServletException
{
super.init(config);
sc = getServletContext();
String dataPath = config.getInitParameter("datapath"); if (dataPath == null) { dataPath = ""; } bbsManager = (BBSManagerBeans)sc.getAttribute("bbsmanager"); if (bbsManager == null) { bbsManager = new BBSManagerBeans(dataPath); sc.setAttribute("bbsmanager",bbsManager); }
}
///////////////////// "POST"メソッド ///////////////////
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
doGet(request, response);
}
///////////////////// "GET"メソッド ///////////////////
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
BBSDataBeans bbsData = new BBSDataBeans();
String data = request.getParameter("function"); if (data == null) { doBBSRead(request, response, bbsData); } else if (data.compareTo("WRITE") == 0) { doBBSWrite(request, response, bbsData); } else if (data.compareTo("DELETE") == 0) { doBBSDelete(request, response, bbsData); } request.setAttribute("bbsdata",bbsData); sc.getRequestDispatcher("/bbs.jsp").forward(request, response);
}
///////////////////// メッセージの削除 ///////////////////
public void doBBSDelete(HttpServletRequest request, HttpServletResponse response, BBSDataBeans bbsData)
throws IOException, ServletException
{
String delindex = request.getParameter("delIndex");
if (delindex == null) {
bbsManager.ReadArticles(0, bbsData);
return;
}
int index = Integer.parseInt(delindex);
String password = request.getParameter("pwd"); if (password == null) { bbsManager.ReadArticles(0, bbsData); return; } bbsManager.DeleteItem(index, password); bbsManager.ReadArticles(0, bbsData);
}
///////////////////// メッセージの投稿 ///////////////////
public void doBBSWrite(HttpServletRequest request, HttpServletResponse response, BBSDataBeans bbsData)
throws IOException, ServletException
{
BBSItem item = new BBSItem();
item.name = KanjiConv.ConvJStr(request.getParameter("name")); if (item.name == null) item.name = ""; item.email = KanjiConv.ConvJStr(request.getParameter("email")); if (item.email == null) item.email = ""; item.subject = KanjiConv.ConvJStr(request.getParameter("subject")); if (item.subject == null) item.subject = ""; item.content = KanjiConv.ConvJStr(request.getParameter("content")); if (item.content == null) item.content = ""; item.deleteKey = KanjiConv.ConvJStr(request.getParameter("pass")); if (item.deleteKey == null) item.deleteKey = ""; bbsManager.AddItem(item); bbsManager.ReadArticles(0, bbsData);
}
///////////////////// メッセージの読み出す ///////////////////
public void doBBSRead(HttpServletRequest request, HttpServletResponse response, BBSDataBeans bbsData)
throws IOException, ServletException
{
int index, lastIndex;
String strIndex = request.getParameter("index");
if (strIndex != null) {
index = Integer.parseInt(strIndex);
}
else {
index = 0;
}
bbsManager.ReadArticles(index, bbsData);
}
public void destroy()
{
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。