claim voucher update表单问题
老师您好,想问下这里的c:foreach 为什么不能用之前使用过的var属性定义一个变量,来代替DTO中items的变量名呢
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | < c:forEach items = "${claimVoucherDTO.items}" var = "voucherItems" varStatus = "ind" > < div class = "section row" id = "items" > < div > < form:hidden path = "voucherItems[${ind.index}].id" /> < form:hidden path = "voucherItems[${ind.index}].claimVoucherId" /> < div class = "col-md-3" > < label for = "voucherItems[${ind.index}].item" class = "field prepend-icon" > < form:select path = "voucherItems[${ind.index}].item" cssClass = "gui-input" placeholder = "花销类型..." items = "${items}" /> </ label > </ div > < div class = "col-md-3" > < label for = "voucherItems[${ind.index}].amount" class = "field prepend-icon" > < form:input path = "voucherItems[${ind.index}].amount" cssClass = "gui-input money" placeholder = "金额..." /> < label for = "voucherItems[${ind.index}].amount" class = "field-icon" > < i class = "fa fa-lock" ></ i > </ label > </ label > </ div > < div class = "col-md-5" > < label for = "voucherItems[${ind.index}].comment" class = "field prepend-icon" > < form:input path = "voucherItems[${ind.index}].comment" cssClass = "gui-input" placeholder = "备注..." /> < label for = "voucherItems[${ind.index}].comment" class = "field-icon" > < i class = "fa fa-lock" ></ i > </ label > </ label > </ div > < div class = "col-md-1" style = "text-align:right;" > < button type = "button" class = "button" > X </ button > </ div > </ div > </ div > </ c:forEach > |
我使用这种方法会导致页面加载不出来voucherItems
谢谢
正在回答
同学你好,1、非常抱歉之前老师对var的描述有些不准确,在<c:foreach>标签中var其实表示的是当前条目的变量名称,比如:
运行结果:
所以var表示的是当前条目的变量名称。对给同学造成的不便深感抱歉。
2、当前页面使用了modelAttribute,modelAttribute:绑定 后台传过来的数据。
使用spring提供的form表单时,可以通过设置modelAttribute属性,将所有表单要提交的内容都封装到一个对象中进行提交。
所以这里建议直接写为items属性名,便于封装对象进行提交。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
同学你好,1、课程案例中这里的items是指ClaimVoucherInfo下的items的集合
比如:items[0].item和items[0].amount就是指某一条报销单的花销类型以及报销金额,所以这里在具体的数据遍历具体写法是items[[${sta.index}].comment。
2、新创报销单的时候,如果把初始的费用明细条目删除掉再点击+按钮,这个按钮就失效了
这是因为在js中删除元素时,使用了
:last 选择器选取最后一个元素,删除之后再添加时,获取不到子元素了,所以就没有效果了
这个属于js中的内容,同学如果有兴趣,可以在删除方法中添加一个判断。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧