On Wed, Sep 28, 2011 at 6:27 PM, Anjib Mulepati <anji...@hotmail.com> wrote: > Thanks for your help. > I get the part to convert to/from the JSON object . But my problem was to > make such result fit within Struts. i.e. how can i populate the "data" into > select box using struts tag?
Oh ok... now this is a little time travel for me. Have not used Struts 1 in the past 5 years (thanks heaven). Do you know this tag? http://struts.apache.org/1.x/struts-taglib/tagreference.html#html:options You'll need that and make a bean accessible for this tag. here is a short example which might help you: http://www.vaannila.com/struts/struts-example/struts-html-select-tag-example-1.html Cheers Christian > > > On 9/28/2011 12:14 PM, Christian Grobmeier wrote: >> >> Ajib, >> >> I am using jQuery, which makes an json object out of the json string >> you would get. This is very straightforward. Since you are using plain >> javascript this is not possible so easily. >> >> Basically you get a string and need to turn it into a jsonobject. >> You could do it like that: >> http://www.json.org/js.html >> >> You probably need to make something like that: >> var myObject = JSON.parse(data); >> >> and then you can iterate over myObject like an array and create the >> html you need. >> >> I am afraid, you'll need to dig that out on your own now, but I guess >> you have a good direction ;-) >> >> Cheers >> Christian >> >> >> On Wed, Sep 28, 2011 at 6:08 PM, Anjib Mulepati<anji...@hotmail.com> >> wrote: >>> >>> This is great I am able to get the String of all shows. But my ultimate >>> goal >>> was to get the result and populate in the select box. >>> I am using AJAX since second box (charater) content depends upon first >>> select box (tvshow). SO I need to parse String or is there any easy way >>> to >>> get values so that I can use that to populate the select box. >>> Also when I was looking at the script on the JSP I was wondering how can >>> I >>> use that string to populate the select box. >>> <script> >>> >>> var req; >>> var which; >>> >>> function retrieveURL(url) { >>> if (window.XMLHttpRequest) { // Non-IE browsers >>> req = new XMLHttpRequest(); >>> req.onreadystatechange = processStateChange; >>> try { >>> req.open("GET", url, true); >>> } catch (e) { >>> alert(e); >>> } >>> req.send(null); >>> } else if (window.ActiveXObject) { // IE >>> req = new ActiveXObject("Microsoft.XMLHTTP"); >>> if (req) { >>> req.onreadystatechange = processStateChange; >>> req.open("GET", url, true); >>> req.send(); >>> } >>> } >>> } >>> >>> function processStateChange() { >>> if (req.readyState == 4) { // Complete >>> if (req.status == 200) { // OK response >>> var data = req.responseText; >>> alert(data); >>> document.getElementById("characters").innerHTML = data; >>> } else { >>> alert("Problem: " + req.statusText); >>> } >>> } >>> } >>> >>> </script> >>> >>> <html:form action="doSome"> >>> <html:select property="show" onchange="retrieveURL('GetChars.do?tvID=' + >>> this.value);"> >>> <html:options collection="showList" property="showId" >>> labelProperty="showName" /> >>> </html:select> >>> <br/> >>> Characters:<span id="characters"></span> >>> <html:submit /> >>> </html:form> >>> >>> >>> On 9/28/2011 10:41 AM, Christian Grobmeier wrote: >>>> >>>> Hi Ajib, >>>> >>>>> public ActionForward execute(ActionMapping mapping, ActionForm inForm, >>>>> HttpServletRequest request, HttpServletResponse response) throws >>>>> Exception { >>>>> >>>>> // Get a list of characters associated with the select TV show >>>>> String tvShow = (String) request.getParameter("tvShow"); >>>>> if (tvShow == null) { >>>>> tvShow = ""; >>>>> } >>>>> >>>> // use a json lib, like: http://code.google.com/p/jjson/ >>>> // to generate json from an arrayList >>>> >>>> List<String> character = getCharacters(tvShow); >>>> JSONArray arr = new JSONArray(); >>>> for (String string : character) { >>>> arr.add(new JSONString(string)); >>>> } >>>> >>>> String responseString = arr.toJSON(); >>>> >>>> // use text/plain: >>>>> >>>>> response.setContentType("text/plain"); >>>>> PrintWriter out = response.getWriter(); >>>> >>>> // use response String >>>>> >>>>> out.println(responseString); >>>>> out.flush(); >>>>> >>>>> return null; // Not forwarding to anywhere, response is >>>>> fully-cooked >>>>> >>>>> } // End execute() >>>>> >>>>> How can I avoid creating HTML in action class and send the Arraylist >>>>> /JSON >>>>> to view? >>>> >>>> Similar to that. :-) >>>> >>>> Cheers >>>> Christian >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>>> >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > -- http://www.grobmeier.de --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org