view src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/bbs/ShowBoardMessageServlet.java @ 25:ca85609658bd

bug fix
author one
date Tue, 20 Jan 2015 09:31:16 +0900
parents 1905f2eb6f3b
children
line wrap: on
line source

package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.bbs;

import java.io.PrintWriter;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import fj.data.List;
import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.DefaultNodePath;

public class ShowBoardMessageServlet extends HttpServlet
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private final BulletinBoard bbs;
	private final String createBoardMessagePath;
	private final String editMessagePath;
	
	private static final String PARAM_BOARD_NAME = "bname";

	public ShowBoardMessageServlet(BulletinBoard _bbs,String _createBoardMessagePath, String _editMessagePath)
	{
		bbs = _bbs;
		createBoardMessagePath = _createBoardMessagePath;
		editMessagePath = _editMessagePath;
	}

	public void doGet(HttpServletRequest _req,HttpServletResponse _res)
	{
		String bname = _req.getParameter(PARAM_BOARD_NAME);
		
		try{
			printBoard(bname,_res.getWriter());
		}catch(Exception _e){
			_res.setStatus(500);
		}
		
	}
	
	private void printBoard(String _bname,PrintWriter _pw) throws Exception
	{
		_pw.write("<html><body>\n");
		_pw.write("<h1>"+bbs.sanitize(_bname)+"</h1>\n");
		
		_pw.write("<form action='"+createBoardMessagePath+"' method='POST'\n");
		_pw.write("<p>Author : <input type='text' name='author'/> <input type='hidden' name='bname' value='"+_bname+"'/> EditKey : <input type='text' name='key'/></p>\n");
		_pw.write("<p>Message<br/> <input type='textarea' name='msg'/> </p>\n");
		_pw.write("<p><input type='submit' value='submit'/></p>\n");
		GetAttributeImp attribute = bbs.getAttribute(_bname, "[-1]","0");
    List<String> keys = attribute.getKeys();
    
		for(String key : keys){
      String mesage = attribute.getMessage(key);
      _pw.write("<p>" + key + " = " + mesage + "</p>\n");
		}
		
		_pw.write("</body></html>");
		_pw.flush();
	}
}