diff src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/browsing/ShowBoardsServlet.java @ 8:766f7668521f

commit
author tatsuki
date Thu, 02 Feb 2017 23:05:59 +0900
parents src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/ShowBoardsServlet.java@6c584862fe93
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/local/browsing/ShowBoardsServlet.java	Thu Feb 02 23:05:59 2017 +0900
@@ -0,0 +1,56 @@
+package jp.ac.u_ryukyu.ie.cr.bbs.local.browsing;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+
+public class ShowBoardsServlet extends HttpServlet
+{
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	private final BrowsingBulletinBoard bbs;
+	private final String createBoardPath;
+	private final String showBoardMessagePath;
+	private final String findNodePath;
+	public ShowBoardsServlet(BrowsingBulletinBoard _bbs, String _createBoardPath,String _showBoardMessagePath, String _findNodePath)
+	{
+		bbs = _bbs;
+		findNodePath = _findNodePath;
+		createBoardPath = _createBoardPath;
+		showBoardMessagePath = _showBoardMessagePath;
+	}
+	
+	public void doGet(HttpServletRequest _req,HttpServletResponse _res)
+	{
+		try{
+			_res.setCharacterEncoding("UTF-8");
+			printBoard(_res.getWriter());
+		}catch(Exception _e){
+			_res.setStatus(500);
+		}
+		
+	}
+	
+	private void printBoard(PrintWriter _pw) throws Exception
+	{
+		_pw.write("<html><body>\n");
+		_pw.write("<h1>BBS</h1>\n");
+		_pw.write("<form action='"+createBoardPath+"' method='POST'\n");
+		_pw.write("<p>Create new board.</p>");
+		_pw.write("<p>BoardName : <input type='text' name='bname'/></p>\n");
+		_pw.write("<p><input type='submit' value='submit'/></form></p><hr/>\n");
+
+		_pw.write("<h2>list of boards</h2>");
+		for(String board : bbs.getBoards()){
+			_pw.write("<p><a href='"+showBoardMessagePath+"?bname=" + bbs.sanitize(board) + "&path=-1" +"'>"+ bbs.sanitize(board) + "</a>  " +
+					"<a href='"+findNodePath+"?bname=" + bbs.sanitize(board) +"'>"+ "find</a>"
+					+ "</p>");
+		}
+		
+		_pw.write("</body></html>");
+		_pw.flush();
+	}
+}