我有以下用户界面:
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="col-sm-1 control-label"> <b><font size="4">Brand:</font></b>
</label>
<div class="col-sm-4">
<select class="form-control">
<option value="one">-</option>
<option value="two">BrandOne</option>
<option value="three">BrandTwo</option>
<option value="four">BrandThree</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> <b><font size="4">Price:</font></b>
</label>
<div class="col-sm-4">
<select class="form-control">
<option value="one">-</option>
<option value="two">1000 - 10000</option>
<option value="three">10000 - 50000</option>
<option value="four">50000 - 100000</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label"> <b><font size="4">Miles:</font></b>
</label>
<div class="col-sm-4">
<select class="form-control">
<option value="one">-</option>
<option value="two">0 - 1000</option>
<option value="three">1000 - 20000</option>
<option value="four">20000 - 100000</option>
</select>
</div>
</div>
</form>
<button type="button" id="searchBtn" class="btn btn-default">Search</button>
我想要执行以下操作:按下搜索按钮后,应提交三种表格(品牌,价格,里程)的选择值。经过一些处理后,我想返回一个字符串列表,遍历列表并在结果列表中显示值(见下文)。
我有两个问题: 1.我如何提交三个选择值? 2.如何返回List,迭代它并将字符串存储在结果列表中?
<div class="well">
<ul class="list-group" id="resultList">
<!-- result should be here -->
</ul>
</div>
感谢您的帮助!
答案 0 :(得分:3)
收到的所有POST参数都可以通过以下方式在控制器中获取:
Map<String,String[]> params = request().body().asFormUrlEncoded();
要调试您实际收到的内容,请使用以下操作:
public static Result outputPostParams(){
Map<String,String[]> params = request().body().asFormUrlEncoded();
StringBuilder sb = new StringBuilder();
for(String s: params.keySet()){
sb.append(s).append("\n");
for(String subs:params.get(s)){
sb.append("- ").append(subs).append("\n");
}
}
return ok(sb.toString());
}
为了使其工作,不要忘记在路线文件中定义路线:
POST /brands controllers.Application.outputPostParams()
并添加路线以形成行动:
<form method="POST" action="@routes.Application.outputPostParams()" class="form-horizontal" role="form">