1 package fr.improve.struts.taglib.layout.field.ajax.select; 2 3 import javax.servlet.http.HttpServletRequest ; 4 import javax.servlet.http.HttpServletResponse ; 5 6 import org.apache.struts.action.Action; 7 import org.apache.struts.action.ActionForm; 8 import org.apache.struts.action.ActionForward; 9 import org.apache.struts.action.ActionMapping; 10 11 17 public abstract class SelectOptionAction extends Action { 18 19 public ActionForward execute(ActionMapping in_mapping, 20 ActionForm in_form, 21 HttpServletRequest in_request, 22 HttpServletResponse in_response) 23 throws Exception { 24 25 in_response.addHeader("Content-Type", "text/xml"); 26 27 String valueSelected = in_request.getParameter("valueSelected"); 29 String formName = in_request.getParameter("formName"); 30 String elementName = in_request.getParameter("elementName"); 31 32 String suggestions = getXMLOptionList(in_request, valueSelected, 33 formName, elementName, 34 "ISO-8859-1"); 35 36 in_response.getOutputStream().print(suggestions); 37 38 return null; 39 } 40 41 49 protected String getXMLOptionList(HttpServletRequest in_request, 50 String in_value, 51 String in_formName, 52 String elementName, 53 String in_encoding) { 54 55 Option[] options = getOptionList(in_request, in_value); 57 58 StringBuffer res = new StringBuffer ("<?xml version=\"1.0\" encoding=\"") 59 .append(in_encoding).append("\" ?>\n"); 60 61 res.append("<selectChoice>"); 62 res.append("<selectElement>"); 63 res.append("<formName>").append(in_formName).append("</formName>"); 64 res.append("<formElem>").append(elementName).append("</formElem>"); 65 res.append("</selectElement>"); 66 67 if (options!=null) { 68 for (int i=0; i<options.length; i++) { 69 Option op = options[i]; 70 res.append("<entry>"); 71 res.append("<optionText>").append(op.getLabel()).append("</optionText>"); 72 res.append("<optionValue>").append(op.getValue()).append("</optionValue>"); 73 res.append("</entry>"); 74 } 75 } 76 77 res.append("</selectChoice>"); 78 79 return res.toString(); 80 } 81 82 88 public abstract Option[] getOptionList(HttpServletRequest in_request, String in_item); 89 90 } 91 | Popular Tags |