前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring mvc 接收页面表单List 怎么处理

spring mvc 接收页面表单List 怎么处理

作者头像
凯哥Java
发布2019-06-28 14:52:25
1.2K0
发布2019-06-28 14:52:25
举报
文章被收录于专栏:凯哥Java凯哥Java

需求:

958a6356cf629bab4da3dcb796b0ba9b.png
958a6356cf629bab4da3dcb796b0ba9b.png

我们可以看出一个商品对应多个SKU 一个SKU又有两种不同的优惠方案,即优惠价格和折扣率。

form 一次性提交,spring mvc怎么处理呢?

根据页面,我们可以封装一个goods对象,goods对象里面有个SKU的集合。如下图:

93d2a5e189ecbdb4dee80586d6d1b80a.png
93d2a5e189ecbdb4dee80586d6d1b80a.png
代码语言:javascript
复制
public class Goods implements Serializable{
	int id;		//
	List<SKU> skuList;

SKU对象:

e957d130e68f9901219eec68aebcb676.png
e957d130e68f9901219eec68aebcb676.png
代码语言:javascript
复制
public class SKU implements Serializable{
	int id;
	String  name;
	int goodsId;		//商品id
	BigDecimal price;		//优化价格
	double DiscountRate 	;///折扣率	

jsp页面:

86fc3da2bc8e29ec3683f58dcc579075.png
86fc3da2bc8e29ec3683f58dcc579075.png
804054fb677f60ad2c0e8bdbdd5450e5.png
804054fb677f60ad2c0e8bdbdd5450e5.png

具体如下:

使用到了rowspan进行行合并的。

代码语言:javascript
复制
<form  action="/saveByForm" method="post">
	<table width="100%" border="1">
  <tr>
    <th>商品idth</th>
    <th>商品规格</th>
    <th>优化政策</th>
  </tr>
  <tr>
    <td rowspan="6"><input name="id" type="hidden" value="1"/>1</td>
    <td rowspan="2"><input name="skuList[0].name"   type="hidden" value="8公斤">8公斤</td>
    <td ><input name="skuList[0].price"   type="hidden" value="8">$8.00</td> 
  </tr>

  <tr>
   <td ><input name="skuList[0].DiscountRate"   type="hidden" value="0.75">75折</td> 
 </tr>

  <tr>
 <td rowspan="2"><input name="skuList[1].name"   type="hidden" value="10公斤">10公斤</td>
  <td ><input name="skuList[1].price"   type="hidden" value="12">$12.00</td> 
 </tr>
 <tr>
    <td ><input name="skuList[1].DiscountRate"   type="hidden" value="0.7">7折</td> 
 </tr>


 <td rowspan="2"><input name="skuList[2].name"   type="hidden" value="15公斤">15公斤</td>
  <td ><input name="skuList[2].price"   type="hidden" value="15">$15.00</td> 
 </tr>
 <tr>
      <td ><input name="skuList[2].DiscountRate"   type="hidden" value="0.6">6折</td> 
 </tr>
</table>
 <input type="submit">
</form>

后台:

代码语言:javascript
复制
	@RequestMapping("/saveByForm")
	public String saveByForm(Goods goodsList, SKU sku,
			BigDecimal[] priceArr,double []  DiscountRateArr ){
		System.err.println(JSON.toJSON(goodsList));
		System.err.println(JSON.toJSON(sku));
		return "/test/ok";
		
	}
b71c682ec2c25051ea0aebf678ba5b7d.png
b71c682ec2c25051ea0aebf678ba5b7d.png

这样就完美处理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档