Hi Jeff, I did a similar setup in a Cocoon2.2 block and the same problem occurs: function testSwitch() { var cmd = cocoon.request.getParameter("cmd"); print("cmd=" + cmd); print(cmd.getClass().getName()); switch(cmd) { case "save": print("request parameter was save"); break; case "delete": print("request parameter was delete"); break; default: print("request parameter was none of the above"); break; } } Output in console: cmd=delete java.lang.String request parameter was none of the above By the way... cmd.getClass().getName() is only possible if the object is in fact a java object. They use LiveConnect so you can easily use Java and JavaScript together. I suspect that the switch does not work properly on java.lang.String. So when you convert the cmd to a native javascript object it suddenly will work again. A better solution is demonstrated below: function testSwitch() { var cmd = getCmd("cmd"); switch(cmd) { case "save": print("request parameter was save"); break; case "delete": print("request parameter was delete"); break; default: print("request parameter was none of the above"); break; } } function getCmd(name) { return "" + cocoon.request.getParameter(name); // --> we need to make sure we get a native javascript object so our switch will work } Kind regards, Robby -----Original Message----- From: Schmitz, Jeffrey A [mailto:Jeffrey.A.Schmitz@boeing.com] Sent: Monday, February 08, 2010 6:59 PM To: users@cocoon.apache.org Subject: RE: Can't use switch with cocoon.request.get in flowscript In effect, I already do that with the following code which is my workaround. In this case the switch DOES work. var cmd = cocoon.request.get("Cmd"); //For some reason, the switch doesn't work with the //string returned from cocoon.request.get, but if //statements do. if (cmd == "Open") { cmd = "Open"; } if (cmd == "Create Model") { cmd = "Create Model"; } if (cmd == "Account") { cmd = "Account"; } if (cmd == "Logout") { cmd = "Logout"; } switch (cmd) { case "Open": Jeff Work: 314-232-1997 Cell: 636-448-5990 > -----Original Message----- > From: Robby Pelssers [mailto:robby.pelssers@ciber.com] > Sent: Monday, February 08, 2010 11:56 AM > To: users@cocoon.apache.org > Subject: RE: Can't use switch with cocoon.request.get in flowscript > > A next step would be to try something like > > var cmd = "Open"; > print("cmd='" + cmd = "'"); > > switch (cmd) { > case "Open": > { > print("Command is Open"); > break; > } > case "Create Model": > { > print("Command is Create Model"); > break; > } > case default: > { > print("Command did not match any of the above"); > break; > } > } > > If this snippet still does print the default output you know > for sure the switch is not behaving properly. > > https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference > /Statements/switch > > So can you first see what the output of the snippet above is? > > Cheers, > Robby > > > > -----Original Message----- > From: Schmitz, Jeffrey A [mailto:Jeffrey.A.Schmitz@boeing.com] > Sent: Monday, February 08, 2010 5:45 PM > To: users@cocoon.apache.org > Subject: RE: Can't use switch with cocoon.request.get in flowscript > > Here's the output. Very strange. Again, 'if' check's work > on it, but the switch command doesn't unless I do the workaround. > > cmd='Open' > Command did not match any of the above > > Jeff > Work: 314-232-1997 > Cell: 636-448-5990 > > > > -----Original Message----- > > From: Robby Pelssers [mailto:robby.pelssers@ciber.com] > > Sent: Monday, February 08, 2010 10:27 AM > > To: users@cocoon.apache.org > > Subject: RE: Can't use switch with cocoon.request.get in flowscript > > > > Well, > > > > I know for sure the switch works fine in cocoon2.2. Might not be > > implemented properly in an older version of Rhino? > > > > Anyway... > > > > What happens if you use this snippet?? It should at least print > > something to your console. > > > > var cmd = cocoon.request.get("Cmd"); > > print("cmd='" + cmd = "'"); > > > > switch (cmd) { > > case "Open": > > { > > print("Command is Open"); > > break; > > } > > case "Create Model": > > { > > print("Command is Create Model"); > > break; > > } > > ... > > Case default: > > { > > print("Command did not match any of the above"); > > break; > > } > > } > > > > Kind regards, > > Robby Pelssers > > > > > > > > -----Original Message----- > > From: Schmitz, Jeffrey A [mailto:Jeffrey.A.Schmitz@boeing.com] > > Sent: Monday, February 08, 2010 4:55 PM > > To: users@cocoon.apache.org > > Subject: Can't use switch with cocoon.request.get in flowscript > > > > Hello, > > In Cocoonn 2.1, does anyone know why I can't use a > switch command > > with the result of cocoon.request.get in flowscript? > > if's work just fine, but switch doesn't. E.g. to get the switch to > > work I have to do the following: > > > > var cmd = cocoon.request.get("Cmd"); > > > > //For some reason, the switch doesn't work with the > > //string returned from cocoon.request.get, but if > > //statements do. > > if (cmd == "Open") { > > cmd = "Open"; > > } > > if (cmd == "Create Model") { > > cmd = "Create Model"; > > } > > if (cmd == "Account") { > > cmd = "Account"; > > } > > if (cmd == "Logout") { > > cmd = "Logout"; > > } > > > > switch (cmd) { > > > > case "Open": > > ... > > > > I have tried adding .toString() to the end of the get function and > > also the cmd variable in various places, but that doesn't > work either. > > > > Thanks! > > Jeff > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org > > For additional commands, e-mail: users-help@cocoon.apache.org > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org > For additional commands, e-mail: users-help@cocoon.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org For additional commands, e-mail: users-help@cocoon.apache.org