5
|
1 package jp.ac.u_ryukyu.ie.cr.bbs.browsing;
|
|
2
|
|
3 import jp.ac.u_ryukyu.ie.cr.jungle.store.impl.TreeNode;
|
|
4
|
|
5 import javax.servlet.http.HttpServlet;
|
|
6 import javax.servlet.http.HttpServletRequest;
|
|
7 import javax.servlet.http.HttpServletResponse;
|
|
8 import java.io.PrintWriter;
|
|
9 import java.util.Iterator;
|
|
10
|
|
11 public class FindNodeServlet extends HttpServlet
|
|
12 {
|
|
13 private final BrowsingBulletinBoard bbs;
|
|
14 private final String showBoardMessagePath ;
|
|
15 private static final String PARAM_BOARD_NAME = "bname";
|
|
16
|
|
17 private static final long serialVersionUID = 1L;
|
|
18
|
|
19 public FindNodeServlet(BrowsingBulletinBoard _bbs, String _showBoardMessagePath)
|
|
20 {
|
|
21 showBoardMessagePath = _showBoardMessagePath;
|
|
22 bbs = _bbs;
|
|
23 }
|
|
24
|
|
25 public void doGet(HttpServletRequest _req,HttpServletResponse _res)
|
|
26 {
|
|
27 String bname = _req.getParameter(PARAM_BOARD_NAME);
|
|
28 System.out.println("write");
|
|
29
|
|
30 try{
|
|
31 PrintWriter pw = _res.getWriter();
|
|
32 pw.write("<html><body><h1>find Node</h1>");
|
|
33 pw.write("<form method='POST'\n");
|
|
34 pw.write("<p>" +
|
|
35 "<input type='hidden' name='bname' value='"+bname+"'</p>\n");
|
|
36 pw.write("<p>key<br/> <input type='textarea' name='key'/> </p>\n");
|
|
37 pw.write("<p>value<br/> <input type='textarea' name='value'/> </p>\n");
|
|
38 pw.write("<p><input type='submit' value='submit'/></p>\n");
|
|
39 pw.write("</body></html>");
|
|
40 pw.flush();
|
|
41 }catch(Exception _e){
|
|
42 _res.setStatus(500);
|
|
43 }
|
|
44 }
|
|
45
|
|
46 public void doPost(HttpServletRequest _req,HttpServletResponse _res)
|
|
47 {
|
|
48 String bname = _req.getParameter("bname");
|
|
49 String key = _req.getParameter("key");
|
|
50 String value = _req.getParameter("value");
|
|
51
|
|
52 try{
|
|
53 Iterator<TreeNode> iterator = bbs.findNode(bname, key, value);
|
|
54 PrintWriter pw = _res.getWriter();
|
|
55 pw.write("<p>result</p>\n");
|
|
56 while (iterator.hasNext()) {
|
|
57 TreeNode node = iterator.next();
|
|
58 String childName = node.getAttributes().getString("NodeName");
|
|
59 String path = bbs.getNodePath(bname, node).replace("<","").replace(">","");
|
|
60 pw.write("<p><a href='" + showBoardMessagePath + "?bname=" + bname + "&path=" + path + "'>" +childName + " : path = <" + path + "></a></p>");
|
|
61 }
|
|
62 pw.flush();
|
|
63 }catch(Exception _e){
|
|
64 _res.setStatus(500);
|
|
65 }
|
|
66 }
|
|
67 }
|