奔腾的野马
2018-08-02 02:04
采纳率: 100%
浏览 1.2k

java Web表单提交后台的处理机制

一般浏览器表单时前台会做一次校验,然后后台需要对表单做二次校验,
如果校验不通过,则将信息反馈到前台,同时页面上数据不允许有丢失,
请问各位大神是怎么把信息反馈到前台的,同时页面上数据不允许有丢失?
我知道的解决方法:
通过ajax提交表单,后台将错误信息封装到json中返回到前台,这样可以做到把信息反馈到前台的,同时页面上数据没有丢失。
但是如果通过form表单直接提交,怎样做到把信息反馈到前台的,同时页面上数据没有丢失呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • _zming 2018-08-02 05:49
    已采纳

    如果是form提交可以设置form的target将请求提交到iframe,当iframe加载完成时,将iframebody的json数据取出来,以前也做过,不过很少写前台,没法给你详细代码

    已采纳该答案
    打赏 评论
  • Le3Master 2018-08-02 02:08

    你这个是Ajax 的 问题对吧,如果你想使用 form 方式 提交 请在 Ajax 请求 XHR 头部添加
    content-type : application/x-www-formurlencoded 即可提交出去的数据就是就是表单类型了,
    并且你的请求消息体内应该为Query 字符串格式也就是 a=xxx&b=zzz 这种格式,xxx 和 zzz 别忘了做 urlencoded 编码哦

    打赏 评论
  • 诚哥丿 2018-08-02 02:18

    通过js提交,就可以避免页面跳转和刷新了。
    如果非要用form直接提交的话, 了解一下struts2框架的form 标签。

    打赏 评论
  • xcgh 2018-08-02 02:20

    主要看你用什么框架,有一些框架是可以完成你说的功能的,但是有些完成不了,需要你提示错误时把数据给前端返回去,form表单也一样

    打赏 评论
  • Bug开发攻城狮 2018-08-02 05:38

    后端可以使用modelAttribute接收参数,如果二次校验不通过,返回原页面,并且把之前的参数对象传到前端页面,后端自己来填充form内的参数

    打赏 评论
  • amber_0123 2018-08-02 08:49

    HttpServletRequest 后台直接用这个 request.getparameter(); 取。 返回用model封装数据就可以

    打赏 评论
  • 码农-文若书生 2018-08-03 01:37

    校验不成功将提交的数据再返回来,前台填写到form的对应标签了,但这么作不是脱裤子放屁么? 还是直接用ajax提交吧。

    打赏 评论

相关推荐 更多相似问题