KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > fr > improve > struts > taglib > layout > suggest > SuggestAction


1 package fr.improve.struts.taglib.layout.suggest;
2
3 import java.util.Collection JavaDoc;
4 import java.util.Iterator JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8
9 import org.apache.struts.action.ActionForm;
10 import org.apache.struts.action.ActionForward;
11 import org.apache.struts.action.ActionMapping;
12
13 /**
14  * The base suggest tag action
15  * @author: Francois Goldgewicht
16  */

17 public abstract class SuggestAction extends org.apache.struts.action.Action {
18     
19     public ActionForward execute(ActionMapping in_mapping, ActionForm in_form, HttpServletRequest JavaDoc in_request, HttpServletResponse JavaDoc in_response) throws Exception JavaDoc {
20     
21         in_response.addHeader("Content-Type", "text/xml");
22         
23         String JavaDoc word = in_request.getParameter("word");
24         String JavaDoc encoding = in_request.getParameter("enc");
25         
26         String JavaDoc suggestions = getXMLSuggestionList(in_request, word, encoding);
27         
28         in_response.getOutputStream().print(suggestions);
29         
30         return null;
31
32     }
33     
34     protected String JavaDoc getXMLSuggestionList(HttpServletRequest JavaDoc in_request, String JavaDoc in_word, String JavaDoc in_encoding) {
35         
36         Collection JavaDoc suggestions = getSuggestionList(in_request, in_word);
37         
38         StringBuffer JavaDoc res = new StringBuffer JavaDoc("<?xml version=\"1.0\" encoding=\"").append(in_encoding).append("\" ?>\n");
39         
40         res.append("<results>");
41         if (suggestions!=null) {
42             Iterator JavaDoc iter = suggestions.iterator();
43             while(iter.hasNext()) {
44                 String JavaDoc currentWord = (String JavaDoc) iter.next();
45                 res.append("<result value=\"").append(currentWord).append("\" />");
46             }
47         }
48         
49         res.append("</results>");
50         
51         return res.toString();
52         
53     }
54
55     
56     public abstract Collection JavaDoc getSuggestionList(HttpServletRequest JavaDoc in_request, String JavaDoc in_word);
57     
58 }
59
Popular Tags