比如form 表单向后端提交一个 对象 User 。。。 这个对象 User 有一个 Adrress 对象。 如果在 form表单提交的时候,把 Adrress 的地址信息也给提交过去呢? 怎么写?
以前的方式
如果User 关联的一个 List<Adrress> 我会在 form 的 name 是 一个 数组形式的比如: adrress[0].id
其他的方式
对象例子:
public class ProcessEnquiryBase extends ProcessOptBaseEntity {
/**
*
*/
private static final long serialVersionUID = -6861344396438291750L;
/**
* 收货地址(需要开放原来的收货地址维护)
*/
@ManyToOne
@JoinColumn(name="addr_id")
private Address address;
....
在前端页面这样的写法:
<span id="enquiry_details"></span>
#if($modifyFlag)
<input type="hidden" name="id" id="id" value="$!processEnquiry.id" />
#end
<input type="hidden" id="cbStatus" name="cbStatus" value="1" />
<input type="hidden" name="dataType" value="2"/>
<input type="hidden" name="rangeType" value="9"/>
<input type="hidden" name="address.id" value="$!processEnquiry.address.id" id="address_id" #if($processEnquiry.deliveryMode == 2)disabled="disabled"#end/>
<input type="hidden" name="serialNo" value="$!obj.serialNo" />
<input type="hidden" id="enquiryMethod" name="enquiryMethod" value="$!processEnquiry.enquiryMethod" />
<input type="hidden" id="cityIds" name="cityIds" value="$!obj.getAreaIds()" />
</form>
就是直接使用 address.id 这样就可以把 地址的 id 给传过去了的,
controller 的方法:
@ResponseBody
@SecurityMapping(title = "新建询价单", value = "/buyer/process/enquiry_save.htm*", rtype = "buyer", rname = "用户中心", rcode = "user_center", rgroup = "用户中心")
@RequestMapping({ "/enquiry_save.htm" })
public String enquiry_save(HttpServletRequest request, HttpServletResponse response, ProcessEnquiry item, String deleteIds, String cityIds, String factoryIds, String cbStatus, String deliveryDate_1){
User user = this.getCurrUser();
if(user == null){
return this.getJsonMessage("未登录或登录超时");
}