Mercurial > hg > Members > shoshi > jungle > bbs
diff src/main/java/jp/ac/u_ryukyu/ie/cr/bbs/browsing/FindNodeservlet.java @ 5:2b3542c5be34
move child
author | tatsuki |
---|---|
date | Tue, 02 Aug 2016 17:46:03 +0900 |
parents | |
children | 4a66328f0141 |
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/browsing/FindNodeservlet.java Tue Aug 02 17:46:03 2016 +0900 @@ -0,0 +1,67 @@ +package jp.ac.u_ryukyu.ie.cr.bbs.browsing; + +import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode; + +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.PrintWriter; +import java.util.Iterator; + +public class FindNodeServlet extends HttpServlet +{ + private final BrowsingBulletinBoard bbs; + private final String showBoardMessagePath ; + private static final String PARAM_BOARD_NAME = "bname"; + + private static final long serialVersionUID = 1L; + + public FindNodeServlet(BrowsingBulletinBoard _bbs, String _showBoardMessagePath) + { + showBoardMessagePath = _showBoardMessagePath; + bbs = _bbs; + } + + public void doGet(HttpServletRequest _req,HttpServletResponse _res) + { + String bname = _req.getParameter(PARAM_BOARD_NAME); + System.out.println("write"); + + try{ + PrintWriter pw = _res.getWriter(); + pw.write("<html><body><h1>find Node</h1>"); + pw.write("<form method='POST'\n"); + pw.write("<p>" + + "<input type='hidden' name='bname' value='"+bname+"'</p>\n"); + pw.write("<p>key<br/> <input type='textarea' name='key'/> </p>\n"); + pw.write("<p>value<br/> <input type='textarea' name='value'/> </p>\n"); + pw.write("<p><input type='submit' value='submit'/></p>\n"); + pw.write("</body></html>"); + pw.flush(); + }catch(Exception _e){ + _res.setStatus(500); + } + } + + public void doPost(HttpServletRequest _req,HttpServletResponse _res) + { + String bname = _req.getParameter("bname"); + String key = _req.getParameter("key"); + String value = _req.getParameter("value"); + + try{ + Iterator<TreeNode> iterator = bbs.findNode(bname, key, value); + PrintWriter pw = _res.getWriter(); + pw.write("<p>result</p>\n"); + while (iterator.hasNext()) { + TreeNode node = iterator.next(); + String childName = node.getAttributes().getString("NodeName"); + String path = bbs.getNodePath(bname, node).replace("<","").replace(">",""); + pw.write("<p><a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "'>" +childName + " : path = <" + path + "></a></p>"); + } + pw.flush(); + }catch(Exception _e){ + _res.setStatus(500); + } + } +}