1 package fr.improve.struts.taglib.layout.suggest; 2 3 import java.util.Collection ; 4 import java.util.Iterator ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.http.HttpServletResponse ; 8 9 import org.apache.struts.action.ActionForm; 10 import org.apache.struts.action.ActionForward; 11 import org.apache.struts.action.ActionMapping; 12 13 17 public abstract class SuggestAction extends org.apache.struts.action.Action { 18 19 public ActionForward execute(ActionMapping in_mapping, ActionForm in_form, HttpServletRequest in_request, HttpServletResponse in_response) throws Exception { 20 21 in_response.addHeader("Content-Type", "text/xml"); 22 23 String word = in_request.getParameter("word"); 24 String encoding = in_request.getParameter("enc"); 25 26 String suggestions = getXMLSuggestionList(in_request, word, encoding); 27 28 in_response.getOutputStream().print(suggestions); 29 30 return null; 31 32 } 33 34 protected String getXMLSuggestionList(HttpServletRequest in_request, String in_word, String in_encoding) { 35 36 Collection suggestions = getSuggestionList(in_request, in_word); 37 38 StringBuffer res = new StringBuffer ("<?xml version=\"1.0\" encoding=\"").append(in_encoding).append("\" ?>\n"); 39 40 res.append("<results>"); 41 if (suggestions!=null) { 42 Iterator iter = suggestions.iterator(); 43 while(iter.hasNext()) { 44 String currentWord = (String ) 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 getSuggestionList(HttpServletRequest in_request, String in_word); 57 58 } 59 | Popular Tags |