from 表单想后端提交对象的里面关联对象的写法

比如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("未登录或登录超时");
		}


猜你喜欢

转载自my.oschina.net/u/2419285/blog/1623981