页面
<input type="text" name="user.1-name" />
<input type="text" name="user.2-name" />
后台:
def users = params.remove('user')
Map split = users?.inject([:]) { map, param ->
List list = param.key.split('-')
if (list.size() != 2) { // only allow for 1 '-' in a param
return map
}
String firstKey = list.first()
String lastKey = list.last()
if (!map.get(firstKey)) {
map."$firstKey" = [:] // init map for this key
}
map."$firstKey"."$lastKey" = param.value
return map
}
for(String key : map.keySet()){
println "key :"+key+" value:"+map.get(key)
def user = new User(map.get(key))
println user.name
}
<input type="text" name="user.1-name" />
<input type="text" name="user.2-name" />
后台:
def users = params.remove('user')
Map split = users?.inject([:]) { map, param ->
List list = param.key.split('-')
if (list.size() != 2) { // only allow for 1 '-' in a param
return map
}
String firstKey = list.first()
String lastKey = list.last()
if (!map.get(firstKey)) {
map."$firstKey" = [:] // init map for this key
}
map."$firstKey"."$lastKey" = param.value
return map
}
for(String key : map.keySet()){
println "key :"+key+" value:"+map.get(key)
def user = new User(map.get(key))
println user.name
}
本文介绍了一种从HTTP请求中解析特定格式参数的方法,并展示了如何将这些参数映射为用户对象的过程。通过使用Groovy语言,实现了对前端传来的带有层级结构的数据进行解析,并在后端生成对应的用户实例。
169

被折叠的 条评论
为什么被折叠?



