0
J'avais besoin d'utiliser Spring Spring MVC, nous avons dû prendre des entrées plusieurs lignes de données de l'utilisateur. La forme a de lignes quel utilisateur peut modifier et soumettre mon regard de code comme this.When j'ai essayé d'afficher la liste des zones, il est null Quelle sera la raisonPrintemps MVC: Formulaire de ligne multiple Envoyer
Selon moi,
<form data-th-action="@{/qprmonitorlottery}" method="POST" >
<section>
<div class="panel panel-default" style="margin-top: 15px;">
<!-- Default panel contents -->
<div class="panel-heading">エリア間補完の有無</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-bordered">
<tr>
<th width="13%" style="background: #FFFFFF; border-top: 1px solid #ffffff; border-left: 1px solid #ffffff;" > </th>
<th colspan="3" style="text-align: center">都市規模</th>
</tr>
<tr>
<th>エリア </th>
<th width="28%">大都市 </th>
<th width="29%">中都市</th>
<th width="30%">郊外 </th>
</tr>
<tr data-th-each="qprLottery,stat : ${qprLottery}">
<td data-th-text = "${qprLottery.areaName}">北海道 </td>
<td> <span style="display: inline-block; width: 80%">
<input type="number" data-th-value = "${qprLottery.rate1}" class="form-control" data-th-name="firstRate +${stat.index}" required >
<span class="help-block with-errors"></span>
</span> <span style="position: relative; top:-10px;" >%</span> </td>
<td> <span style="display: inline-block; width: 80%">
<input type="number" data-th-value = "${qprLottery.rate2}" class="form-control" data-th-name="secondRate +${stat.index}" required >
</span> <span style="position: relative; top:-10px;" >%</span> </td>
<td> <span style="display: inline-block; width: 80%">
<input type="number" data-th-value = "${qprLottery.rate3}" class="form-control" data-th-name="thirdRate +${stat.index}" required >
</span> <span style="position: relative; top:-10px;" >%</span> </td>
</tr>
</table>
</div>
</div>
</div>
</section>
<div class="row">
<div align="center" style="padding: 30 0px;">
<button type="submit" class="btn btn-primary" value="実行">実行
</button>
</div>
</div>
</form>
Controller est
@RequestMapping(value = "/qprmonitorlottery", method = RequestMethod.POST)
public String setQprMonitorLottery(@Valid @ModelAttribute() MasterCitySizeAreaForm form, BindingResult result) {
CitySizeByAreaView a = new CitySizeByAreaView();
System.out.println("Area list" + a.getRate1());
System.out.println("Area list-------------" + form.getAreaList());
if (result.hasErrors()) {
return "new-monitor-lottery";
}
return "new-monitor-lottery";
}
classes de formulaire sont
public class MasterCitySizeAreaForm {
private ArrayList<CitySizeAreaForm> areaList;
public ArrayList<CitySizeAreaForm> getAreaList() {
return areaList;
}
public void setAreaList(ArrayList<CitySizeAreaForm> areaList) {
this.areaList = areaList;
}
}
forme de classe 2
public class CitySizeAreaForm {
private int areaId;
private Integer area;
private Integer citySize;
private String areaName;
private String citySizeName;
private Float rate1;
private Float rate2;
private Float rate3;
public CitySizeAreaForm() {
}
public CitySizeAreaForm(Integer area, String areaName, Float rate1, Float rate2, Float rate3) {
this.area = area;
this.areaName = areaName;
this.rate1 = rate1;
this.rate2 = rate2;
this.rate3 = rate3;
}
}