jsp页面中的表单提交数据,如果数据保存失败后转发回原来这个jsp页面,那么如何保留原来jsp页面中刚才表单中填写的内容?

程宇寒
博客专家认证
2019-09-16 09:35:00
jsp页面中的表单数据提交到javaweb服务器
把表单数据保存到数据库中,如果保存成功则转发到新页面提示成功,
如果保存失败,则转发到原来的jsp页面,可是原jsp页面表单中的内容清空了,
如何保留刚才表单中填写的内容?
如下图:
图1

图2
...全文
451 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
番茄chao鸡蛋 2019-09-16
  • 打赏
  • 举报
回复
引用 12 楼 随灬影 的回复:
[quote=引用 9 楼 番茄chao鸡蛋 的回复:]
[quote=引用 7 楼 随灬影 的回复:]
个人认为用ajax是最简单的,如果你提交后页面跳转或者刷新了数据就很难保存,而ajax刚好是在你提交验证以后返回才选择刷新或者不刷新页面,完美的实现了你的诉求

怎么利用ajax回填,请教一下?
[/quote]
页面不刷新,数据不都是还在那里么,为什么要回填??ajax根据你返回值来进行操作啊,保存成功返回success你就刷新或者跳转随便你,保存失败就返回fail,不操作或者弹窗提示保存失败不就得了???[/quote]
了解
不能留白 2019-09-16
  • 打赏
  • 举报
回复
引用 9 楼 番茄chao鸡蛋 的回复:
[quote=引用 7 楼 随灬影 的回复:] 个人认为用ajax是最简单的,如果你提交后页面跳转或者刷新了数据就很难保存,而ajax刚好是在你提交验证以后返回才选择刷新或者不刷新页面,完美的实现了你的诉求
怎么利用ajax回填,请教一下? [/quote] 页面不刷新,数据不都是还在那里么,为什么要回填??ajax根据你返回值来进行操作啊,保存成功返回success你就刷新或者跳转随便你,保存失败就返回fail,不操作或者弹窗提示保存失败不就得了???
瘦死的黑骆驼 2019-09-16
  • 打赏
  • 举报
回复
用ajax,完美
程宇寒 2019-09-16
  • 打赏
  • 举报
回复
引用 9 楼 番茄chao鸡蛋 的回复:
[quote=引用 7 楼 随灬影 的回复:]
个人认为用ajax是最简单的,如果你提交后页面跳转或者刷新了数据就很难保存,而ajax刚好是在你提交验证以后返回才选择刷新或者不刷新页面,完美的实现了你的诉求

怎么利用ajax回填,请教一下?
[/quote]
https://blog.csdn.net/czh500/article/details/100515274
https://blog.csdn.net/czh500/article/details/100515370
https://blog.csdn.net/czh500/article/details/80879429
番茄chao鸡蛋 2019-09-16
  • 打赏
  • 举报
回复
引用 7 楼 随灬影 的回复:
个人认为用ajax是最简单的,如果你提交后页面跳转或者刷新了数据就很难保存,而ajax刚好是在你提交验证以后返回才选择刷新或者不刷新页面,完美的实现了你的诉求

怎么利用ajax回填,请教一下?
番茄chao鸡蛋 2019-09-16
  • 打赏
  • 举报
回复
怎么利用ajax回填,请教一下?平时就是用session
不能留白 2019-09-16
  • 打赏
  • 举报
回复
个人认为用ajax是最简单的,如果你提交后页面跳转或者刷新了数据就很难保存,而ajax刚好是在你提交验证以后返回才选择刷新或者不刷新页面,完美的实现了你的诉求
「已注销」 2019-09-16
  • 打赏
  • 举报
回复
可以创建一个实体类MainDto,然后把你表单里面的数据和MainDto的一一对应,这你表单提交的那个Controller接受,在传递应该就可以了
weixin_43869905 2019-09-16
  • 打赏
  • 举报
回复
引用 4 楼 lay500 的回复:
[quote=引用 3 楼 weixin_43869905 的回复:]
[quote=引用 2 楼 lay500 的回复:]
[quote=引用 1 楼 weixin_43869905 的回复:]
在控制器中把jsp里面的数据取出来,如果保存失败 把数据设置到setAttribute,然后跳转,然后在jsp中取出来,吧input框设置value就好了

把表单数据保存在request或者session对象中,感觉比较麻烦和繁琐,刚才有人提到说,用javascript的后退功能,window.history.go(-1);但是我感觉js后退这种做法不太保险
估计如果不用ajax的话,也没有更好的办法了,只能把表单数据保存在request或者session对象中,转发回原jsp页面的时候,再从request或者session对象中取出来,回显在表单的文本框中[/quote]
你都用jsp了 还嫌麻烦,但是不这样做 还有其他方法吗?[/quote]
如果不用ajax的话,我自己想到的办法就是,表单的数据提交到web服务器后,在后端把表单文本框中的值封装成一个json对
象(json格式的字符串),再把这个json对象保存在request或者session对象中,然后转发回原来的jsp页面的时候,再
从request或者session对象中取出来,取出来的是一个json格式的json对象,然后回显在表单的文本框中。[/quote]
这不是一样嘛?
程宇寒 2019-09-16
  • 打赏
  • 举报
回复
引用 3 楼 weixin_43869905 的回复:
[quote=引用 2 楼 lay500 的回复:]
[quote=引用 1 楼 weixin_43869905 的回复:]
在控制器中把jsp里面的数据取出来,如果保存失败 把数据设置到setAttribute,然后跳转,然后在jsp中取出来,吧input框设置value就好了

把表单数据保存在request或者session对象中,感觉比较麻烦和繁琐,刚才有人提到说,用javascript的后退功能,window.history.go(-1);但是我感觉js后退这种做法不太保险
估计如果不用ajax的话,也没有更好的办法了,只能把表单数据保存在request或者session对象中,转发回原jsp页面的时候,再从request或者session对象中取出来,回显在表单的文本框中[/quote]
你都用jsp了 还嫌麻烦,但是不这样做 还有其他方法吗?[/quote]
如果不用ajax的话,我自己想到的办法就是,表单的数据提交到web服务器后,在后端把表单文本框中的值封装成一个json对
象(json格式的字符串),再把这个json对象保存在request或者session对象中,然后转发回原来的jsp页面的时候,再
从request或者session对象中取出来,取出来的是一个json格式的json对象,然后回显在表单的文本框中。
weixin_43869905 2019-09-16
  • 打赏
  • 举报
回复
引用 2 楼 lay500 的回复:
[quote=引用 1 楼 weixin_43869905 的回复:]
在控制器中把jsp里面的数据取出来,如果保存失败 把数据设置到setAttribute,然后跳转,然后在jsp中取出来,吧input框设置value就好了

把表单数据保存在request或者session对象中,感觉比较麻烦和繁琐,刚才有人提到说,用javascript的后退功能,window.history.go(-1);但是我感觉js后退这种做法不太保险
估计如果不用ajax的话,也没有更好的办法了,只能把表单数据保存在request或者session对象中,转发回原jsp页面的时候,再从request或者session对象中取出来,回显在表单的文本框中[/quote]
你都用jsp了 还嫌麻烦,但是不这样做 还有其他方法吗?
程宇寒 2019-09-16
  • 打赏
  • 举报
回复
引用 1 楼 weixin_43869905 的回复:
在控制器中把jsp里面的数据取出来,如果保存失败 把数据设置到setAttribute,然后跳转,然后在jsp中取出来,吧input框设置value就好了

把表单数据保存在request或者session对象中,感觉比较麻烦和繁琐,刚才有人提到说,用javascript的后退功能,window.history.go(-1);但是我感觉js后退这种做法不太保险
估计如果不用ajax的话,也没有更好的办法了,只能把表单数据保存在request或者session对象中,转发回原jsp页面的时候,再从request或者session对象中取出来,回显在表单的文本框中
weixin_43869905 2019-09-16
  • 打赏
  • 举报
回复
在控制器中把jsp里面的数据取出来,如果保存失败 把数据设置到setAttribute,然后跳转,然后在jsp中取出来,吧input框设置value就好了

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧