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