NutzCN Logo
问答 无pojo 后台怎么动态获取页面表单的所有字段属性
发布于 271天前 作者 qq_6b145f79 227 次浏览 复制 上一个帖子 下一个帖子
标签:

新增页面表单是动态的,后台怎么获取表单字段,然后插入到数据库呢?表已经存在,后台知道要插入到哪张表,只是无pojo

12 回复

用map或者Chain都可以

public void insert(@Param("table")String table, @Param("..")Map map) {
             map.remove("table");
             map.put(".table", table);
             dao.insert(map);
}

页面提交表单的时候,怎么处理的呀。

表单? 那你打算怎么弄? 插入什么字段就写啥input

页面字段是动态的,怎么样提交才能在后台直接接收map呢

foreach($metaField in $columns)

         <div class="am-g am-margin-top-sm">
          <div class="am-u-sm-6 am-u-md-3 am-text-right">
              $!{metaField.cn}:</div>
          <div class="am-u-sm-6 am-u-md-9">
           #if($!{metaField.data_type}=="string")
              <input type="text" value="" id="$!{metaField.en}" name="$!{metaField.en}" placeholder="输入数据项名" #if($!{metaField.is_required}=="1")required#end>
           #end
          </div>
         </div>
         #end

这个就拿到全部参数了

 @Param("..")Map map

灰常感谢,直接提交后台可以获取到
$("#doc-vld-msg").submit();
如果想ajax提交获取返回的json操作结果信息,就不行了,ajax提交的时候参数怎么写呢

返回的是什么东西? 来点代码看看?

是这样的,因为页面字段的不确定性,ajax传到后台,要序列化表单,$("#doc-vld-msg").serialize() 传过去就是{}
不序列化,我就需要遍历页面的所有输入框,获取name和value,然后拼装,用ajax提交

个人建议拼装成json字符串传到后台

拼装成json..不知道有什么字段,后台怎么接收呢

解决了,可以ajax提交json,后台接收 params
@AdaptBy(type = JsonAdaptor.class)
public AjaxResult doAdd(HttpServletRequest req,@Param("..")Map<String,Object> params)

这俩注解的组合有点怪,没问题么?

添加回复
请先登陆
回到顶部