##背景
現在、javaを使って簡易掲示板を作成しています。
プログラムについては、参考書のサンプルを使い、
以下の機能を追加したいと考えています。
・入力フォームの未入力チェック(名前・メルアド・タイトル・内容)
・チェックに引っかかったものは、エラーメッセージを表示し、投稿しない。
以下のことを実現したいです。
--jsp側(入力画面)----
エラーメッセージ欄に表示させたい内容(全件未入力の場合)
名前が未入力です。
メルアドが未入力です。
タイトルが未入力です。
エラーメッセージ欄に表示させたい内容(1件未入力の場合)
メルアドが未入力です。
エラーメッセージは、現在文字列結合を使って表示させています。
String err_message = err1 + err2 + err3
request.setAttribute("err_message",err_message);
※err1・err2・err3は、個別にエラーメッセージを格納している。
これを上記のようにするには、どうしたら宜しいでしょうか?
現在の表示
(全件表示の場合)
名前は未入力です。メルアドが未入力です。タイトルが未入力です。
(1件表示の場合)
NULLNULLタイトルが未入力です。
##ソースコード(参考書サンプル)
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);
}
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()
{
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。