java - Request query from multiple dynamic checkboxes with Spark -


i have html list of checkboxes dynamically created freemarker. html looks this:

<div data-role="collapsible">     <h4>software</h4>     <form action="/" method="post">         <ul data-role="listview" >             <#list softwareoptions software>                 <input type="checkbox" id="softwarefilter" name="softwarefilter" value="${software}" autocomplete="off" >${software}             </#list>         </ul>     </form> </div> 

here's generated list:

<div data-role="collapsible"> <h4>software</h4> <form action="/" method="post">     <ul data-role="listview" >             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="adobe creative cloud" autocomplete="off" >adobe creative cloud             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="adobe web premium" autocomplete="off" >adobe web premium             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="matlab" autocomplete="off" >matlab             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="quicken" autocomplete="off" >quicken             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="steam" autocomplete="off" >steam             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="ibm spss statistics" autocomplete="off" >ibm spss statistics             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft sql server 2008" autocomplete="off" >microsoft sql server 2008             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft sql server 2012" autocomplete="off" >microsoft sql server 2012             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft office" autocomplete="off" >microsoft office             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="autodesk infrastructure design suite" autocomplete="off" >autodesk infrastructure design suite             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft visual studio 2010" autocomplete="off" >microsoft visual studio 2010             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft visual studio 2013" autocomplete="off" >microsoft visual studio 2013             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft visual studio 2015" autocomplete="off" >microsoft visual studio 2015             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft visio" autocomplete="off" >microsoft visio             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="unity 3d" autocomplete="off" >unity 3d             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="gimp" autocomplete="off" >gimp             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="maxon cinema 4d broadcast" autocomplete="off" >maxon cinema 4d broadcast             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="crazybump" autocomplete="off" >crazybump             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="fraps" autocomplete="off" >fraps             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="infrarecorder" autocomplete="off" >infrarecorder             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="garageband" autocomplete="off" >garageband             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="microsoft project" autocomplete="off" >microsoft project             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="numbers" autocomplete="off" >numbers             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="pages" autocomplete="off" >pages             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="fontographer" autocomplete="off" >fontographer             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="keynote" autocomplete="off" >keynote             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="wacom tablet" autocomplete="off" >wacom tablet             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="arduino" autocomplete="off" >arduino             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="ibooks" autocomplete="off" >ibooks             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="imovie" autocomplete="off" >imovie             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="logic pro x" autocomplete="off" >logic pro x             <input type="checkbox" id="softwarefilter" name="softwarefilter" value="itunes" autocomplete="off" >itunes     </ul> </form> </div> 

to request values of check boxes use java code:

object softstring = request.queryparams("softwarefilter"); 

however returns string value of name of first check box checked. example, if adobe creative suite , matlab checked, softstring = "adobe creative suite".

when use:

 object softstring = request.queryparamsvalues("softwarefilter"); 

or

queryparamsmap softmap = request.querymap("softwarefilter"); 

i empty array , null map respectively. hints might missing?

i used same html codes in question, except added submit tag form.

based on inspection, options selected in form data part.

enter image description here

as such, options can retrieved req.body(); example, if select 'adobe creative cloud' , 'adobe web premium', output req.body(); is

softwarefilter=adobe+creative+cloud&softwarefilter=adobe+web+premium 

now matter of parsing raw string options selected. hope helps.


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -