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

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

7个回答

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

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

hgq0916
奔腾的野马 可能我没说清楚,我说的是通过form表单直接submit而不是ajax提交的方式怎么解决页面数据丢失的问题
大约一年之前 回复

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

wushucheng18
诚哥丿 回复hgq0916: 你提交form到后台,后台action处理请求,然后转发到另外一个action,但是你的form已经提交了转发是你服务端做的事情,浏览器的页面还是会发生跳转的。这样的功能建议使用js提交,用jq validator 校验参数,让不符合的参数无法提交就好了。
大约一年之前 回复
hgq0916
奔腾的野马 我用的Struts2,我想通过action转发的方式,这样同一个请求参数不会丢失,但是这样页面的url地址不会改变
大约一年之前 回复

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

xcgh
xcgh 你主动返回值吧
大约一年之前 回复
hgq0916
奔腾的野马 我用的Struts2
大约一年之前 回复

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
form 表单提交、后台的统一处理
配合 form 提交后台 /ajaxSubmit/Submit等通过form提交 springMvc下 @RequestMapping("/save_oaflow_init") //ResultVO 自用统一返回方法 public ResultVO save_oaflow_init(HttpServletRequest request) { Enumeration paramNames = r...
form表单提交option多选框,后台接收处理
有时候页面新增数据的时候一条一条添加很麻烦,操作很不友好,就需要点选很多次,这个时候多选框就很方便,传多个值到后台,后台处理再循环添加更方便一点,一般参数提交我们更多选用的是form表单提交的格式 form表单是根据name值确认给后台传的,因为一个对象,多选的name值一样它最终只会传一个值到后端,这就很烦了,除非不用form表单提交,而是把所有的参数都拼接起来使用传值,但是这样如果页面有改动...
Web后台界面CRUD处理
查询 添加 删除 编辑
文件上传java处理后台
文件上传java处理后台代码,struts2处理上传,commons-fileupload
数字证书JAVA 后台处理
package com.gg.test; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; import java.io.DataInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; i...
关于jsonp机制与php后台处理jsonp
jsonp的本质是利用script标签的src属性进行跨域请求,只能用于get请求。 可以使用原生js进行jsonp跨域: function jsonpCallback(result) { //alert(result); for(var i in result) { alert(i+":"+result[
Java web后台设计
Model层         建立与数据库表格对应的数据类型,其中类的字段名与数据库中的字段名类型和拼写保持一致;如果拼写不一致,则需在mybatis中为数据字段取别名以便让数据库识别。  DAO层         提供一个供上层调用数据库操作方法的接口InterfaceDao,而具体方法实现是通过mybatis.xml配置文件。由于spring框架的方便性,程序员不用关注对数据库增、删、改
JAVA WEB 后台
各位大神,哈小弟请教一个问题rn如果让你一个人做一个后台管理系统你会怎么做?rn首先rn1.系统功能概述 数据库设计 编写开发规范 页面设计 编写公共类 各模块的设计。。。。。就想不说吧 就先说说系统吧rn2.一个好的系统要做什么?rn据我所知rn1.系统的架构 我采用了Spring3+Struts2+Hibernate3rn2.前台jQuery框架rn现在这个系统就是一个人登陆了 对各个模块的增删改查rn根据我的经验哈 有几点考虑rn1.就是系统的日志rn2.就是如果一个用户没有登陆他直接访问某个Action 我应该让他再回到登陆页面rn好了 我就想到这么多了 上面说的两点 用什么技术实现?第二点 我知道可以用Struts的拦截器去实现 但是有没有更好的解决方案?rn还有我忘了考虑什么?如何让这个系统做的更好?谢谢了!rnrnrnrn
基于Token的WEB后台认证机制
参考:[url]http://www.cnblogs.com/xiekeli/p/5607107.html[/url] 登录重放攻击预防:[url]http://huangqiqing123.iteye.com/blog/2033014[/url] 提供Restful API的时候如何确保接口的安全性?[url]https://segmentfault.com/q/101000...
JsonWebToken简介
http://www.cnblogs.com/xiekeli/p/5607107.html
java异常及其处理机制
Java异常处理机制中finally的问题 1、什么叫做异常 所谓异常是指程序的错误,即指系统错误,也包括逻辑错误,在语义层面上异常是程序的“意外、例外”。程序 = 数据 + 算法 + 代码,那么异常则是代码进行算法实现时出现数据或系统的意外、例外,从而导致了算法没有预测到的错误。 2、为什么要进行异常处理 有人会说,一个好的算法可以避免异常、错误的出现,也就不需要异常的处
Yii2.0表单提交与后台接收
一、表单提交格式 Yii2.0表单提交具有防csrf措施,所以提交表单时需要拥有格外的字段 *post提交 request->csrfToken?>"> *get提交 二、后台数据接收 *GET Yii::$app->request->get($key,$default) 【说明】第一个参数(key)为用户get请求的key,第一个参数选填;第二个参数(defaul
java 异常(Exception)处理机制
一,异常类 二,异常处理机制常用关键字 三, throw 和 throw 是的区别 四,自定义异常 实例:package unweb.superDemo;/** * Created by Administrator on 2016/8/21. * 自定义性别异常 */ public class SexException extends Exception { pub
表单提交及后台数据接收
用POST请求,后台原生接收的一个公式: req.addListener("data",function(chunk){ alldata += chunk; }) //当全部传输完毕之后 req.addListener("end",function(){ console.log(alldata,toString()); req.end("success"); }) 现...
springmvc 表单提交到后台乱码问题
1:在web.xml里加上下面这句话,spring自带的编码格式 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 forceEncoding true encodingFilter /* 2:如果再不行再修改这里 修改to
JQuery表单提交与后台交互
方式一 index01.html     纯Jquery表单和后台交互                 $(function () {             $("#btnSubmit").click(function () {                 $.ajax({                     t
layui表单提交到后台
思路:我在开发问卷调查模块时,想添加问卷的时候使用layui弹出一个表单,然后经过校验提交到ssm下的Controller里 一:jsp要弹出的表单 <button id="add" class="layui-btn layui-btn-sm">添加问卷</button>  <div class="layui-row" id="test" style=&
java数据库处理与事务机制
数据库连接数据库连接步骤如下:1、 下载mysql-connector-java的jar包,并导入 2、加载注册驱动程序,Class.forName(“com.mysql.jdbc.Driver”) 3、 连接数据库conn = DriverManager.getCOnnection(DB_URL,USER,PASS) 4、执行sql语句//创建用于执行sql语句的Statement对象 stm
java 异常分类和处理机制
    一、背景介绍        程序在运行过程中发生错误或异常情况是不可避免的,如果每一个运行时错误都由程序员手动控制和处理,其工作量是不可想象的。        Java语言中的异常处理机制就解决的上述问题,把错误与异常的管理带到了面向对象的世界         Java语言定义了很多异常类,将运行错误和异常的信息和处理方法封装在了异常类中,帮助程序员检查和控制异常。即J...
java的例外处理机制问题
java中用try...catch....final 这一结构来执行例外处理机制.rnrn可是,我不明白,在这个结构中,catch 里可以做显示错误信息及出错处理,rnrn可是"出错处理" 倒底是怎么处理的呢,比如有一个文件找不到的异常 IOException,rnrn抛出异常后,怎样进行处理呢:1.打印出错信息 2.结束程序 rnrn在结束程序错误前,还有什么处理办法可以挽回这个程序呢?rnrn(可不可以忽略这个错误继续执行呢?)
表单提交与后台数据处理
最近想把表单提交与后台数据处理系统的梳理一下,以前只是通过按钮触发事件,然后在后台获得前台输入值(有时候比较烦),然后把相关数据提交给数据库,没有使用过类似于Request.Form.GetValues这种方法获得前台的值,一直想找这方面的文章,都没有很理想的答案,有谁能提供一下关于表单方面从数据前台提交,到后台数据获取方面的方法(可是是各种方法)的文章,越全约好!rn
Form表单提交list到后台
实体类   : 页面---- 表单提交: 后台接收action:
表单提交后台正则表达式验证
package com.smartdot.dcu; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ValidUtil { /** * 验证字符串的长度 * * @param str * @...
Java web 服务器推送机制 WebSocket
  首先实现服务器推送技术一直一来是B/S应用开发的一块难题,因为是基于HTTP协议的,HTTP协议为无状态,单向性的协议,即,必须由客户端发起一个请求建立连接,服务器接收请求,把数据返回给客户端,然后释放连接。下一次,再由客户端发起另一次请求,重复上述过程。服务器始终处于"被动"地位。这种情况导致只有客户端请求,服务器才能被动响应结果,虽然HTTP协议的优势是很大的,高效,高伸缩性等。 解决方...
Java Web的安全验证机制
security-constraint部署描述符中的security-constraint元素允许不通过编程就可以限制对某个资源的访问。<!ELEMENT security-constraint (display-name?,web-resource-collection+,auth-constraint?, user-data-constraint?)> <!ELEMENT display-nam
WEB后台--基于Token的WEB后台登录认证机制(并讲解其他认证机制以及cookie和session机制)
继续这一个系列,WEB后台--基于Token的WEB后台登录认证机制(并讲解其他认证机制以及cookie和session机制)。每个后端不得不解决的认证问题。这篇博客会顺带讲解session和cookie机制,希望大家有所收获!!!
web错误统一处理 ASP.NET的错误处理机制
web错误统一处理 ASP.NET的错误处理机制
想请教 Web Services 处理机制。。
如已实现一 WebService 并提供对数据库操作。rn列:rn [WebMethod]rn public WebProject1.src.AgentInterface HelloWorld(WebProject1.src.AgentInterface m_AgentInterface)rn rn src.RemoteServer m_RemoteServer = new src.RemoteServer(m_AgentInterface);rn m_RemoteServer.INTERFACE = m_AgentInterface;rn src.AgentInterface temp_Return = new src.AgentInterface(m_RemoteServer.Operation());rnrn return temp_Return;rn rn解释: 主要由 Web Server 提供调用接口 ,用户生成 RemoteServer 的实例,并执行Operation 方法。Operation 操作主要是 : 作连接数据connection ,执行相关处理。然后 close 连接。rnrn在测试时,设置部分数据会制成数据库操作抛出异常,并引起死锁,并利用多个客户端对 server 进行调用。 rnrn 发现: rn1. 当如果一个数据库异常抛出时,其他客户端调用都会出现timeout 现象。rn2. 查询看数据库的连接数时,并不会因为客户端调用数的增大,而没有增加数据库的连接数,总是一个连接。(select * from v$session where ....)rn3. rnrn问题: 1.Web Services 是按串行的处理方式吗?当同时有请求,应同时做出处理啊。因此觉得 Web Services 在我的机子是单线程处理任务的。但rn 2 .Web Serverice 如何使用线程池呢?
WEB安全漏洞之错误统一处理机制
漏洞说明 当因为某些疏忽(开发问题等)或者用户恶意操作导致网页出现错误时,在未进行处理的情况下,浏览器往往会直接给出错误信息,甚至会详细到某个文件的某行代码出现了什么样的错误,这样可能会暴露项目的目录结构,将一些关键信息展示给攻击者。 修复方案 当异常或错误出现时,展示统一的错误提示页面error.jsp,避免关键信息的显示。相关的配置可以在web.xml中进行设置: &lt;!-- 在web.x...
java web处理表情
1、问题描述 在输入框输入表情,表情到后台会被转为 \uD83D\uDE0A 这样的形式,最关键的是存入数据库会报错,导致后台直接500。 解决办法 将表情的代码,即\uD83D\uDE0A 转为类似html的符号存入数据库,去出来展示的时候在转换为\uD83D\uDE0A 展示。 过程 导包 dependency> groupId>com.vdurmontgroup
java web 高并发处理
1、数据库: 基本不变的数据放到缓存中 2、尽量把量控制在页面前端 3、尽量做多的静态页
java web中文乱码处理
使用url传参,如果有中文的话,容易出现乱码。 如果是使用tomcat部署,可以在tomcat目录下的server.xml中添加URIEncoding="UTF-8"的配置。 但如果是其它容器部署的呢? 其实可以在js中拼接url的时候,对可能为中文的参数进行编码:var url = "xxxx.do?method=xxx&param=" + encodeURI(en
java web 乱码处理
(1)获取表单值的乱码 request.setCharacterEncoding(&quot;gbk&quot;); String username = new String(request.getParameter(&quot;username&quot;).getBytes(&quot;ISO8859-1&quot;),&quot;gbk&quot;); 注意:项目编码要统一   (2)响应输出乱码 Reponse方法设置处理 response.s...
【Android】【事件分发处理机制】事件分发处理机制
TouchEvent分发处理流程: 一般步骤:dispatchTouchEvent(传递),onInterceptTouchEvent(拦截,只有ViewGroup有这个方法),onTouchEvent(处理) Activity.dispatchTouchEvent –&amp;gt; ViewGroup.dispatchTouchEvent –&amp;gt; View.dispatchTouchEven...
Java页面到后台中文乱码处理
js代码: //js中文转码,通过url传递参数,将含中文的数据进行转码 //获取待转码的内容 var username = $.trim($("#username").val()); //定义转码后的内容 var encodeUsername = ""; if (username){ //通过两次 encodeURI() 方法进行转码 encodeUsername = enco...
Java学员管理系统处理表单提交中文乱码
Java学员管理系统处理表单提交中文乱码 一开始浏览器表单提交上了的中文数据都是乱码,改了get/post提交也不管用,参照别的办法修改tomcat代码依然不起作用。琢磨了几个小时才发现问题,****处理乱码的代码一定要放到所有代码之前*** 修改之前代码 protected void doGet(HttpServletRequest request, HttpServletResponse...
Spring处理表单提交
来讲一个最简单的表单提交处理的例子,通过提交一个表单给朋友打一声招呼!看看Spring如何来处理表单提交。
Nodejs 处理表单提交数据
通过get方法发送 var url = require('url'); var qs = require('querystring'); function doGet(req,res){ //将数据转为对象方便操作 var obj = qs.parse(url.parse(req.url).query); console.log(obj); } function doPost
表单提交后的处理
[code=php]rn这样写会不会多此一举?rnrntryrn $list = array();rn $list['map_name'] = isset($_POST['name']) ? post_input($_POST['name']) : '';rn $list['map_city'] = isset($_POST['city']) ? post_input($_POST['city']) : '';rn $citylist = explode(',', $list['map_city']);rn $list['map_city'] = isset($citylist[0]) ? $citylist[0] : '';rn $list['map_region'] = isset($citylist[1]) ? $citylist[1] : '';rn $list['map_district'] = isset($citylist[2]) ? $citylist[2] : '';rn $list['map_content'] = isset($_POST['content']) ? post_input($_POST['content']) : '';rn $list['map_lat'] = isset($_POST['mlat']) ? post_input($_POST['mlat']) : '';rn $list['map_lng'] = isset($_POST['mlng']) ? post_input($_POST['mlng']) : '';rn $list['map_crt_date'] = date('Y-m-d h:i:s', time());rnrn isRequired($list['map_name'], 'Name is required');rn isRequired($list['map_city'], 'City is required');rn isRequired($list['map_region'], 'Region is required');rn isRequired($list['map_district'], 'District is required');rn isRequired($list['map_lat'], 'Location Lat is required');rn isRequired($list['map_lng'], 'Location Lng is required');rn isNumber($list['map_lat'], 'Location Lat is not number');rn isNumber($list['map_lng'], 'Location Lng is not number');rnrn $exclude = array();rn $datatypes = array('str', 'str', 'str', 'str', 'str', 'float', 'float', 'none');rn $googlemap = Googlemap::getinstance();rn $googlemapid = $googlemap->inputInfo($list, $exclude, $datatypes);rnrn if($googlemapid > 0)rn GoBack('Submit Success!', 'show_googlemap.php');rn elsern throw new Exception("Insert is error");rn rnrncatch (Exception $e)rn postExceptionLog('submit_googlemap.php : ' . $e->getMessage());rn if(error_reporting())rn echo $e->getMessage();rn exit;rn rn GoBack('Error','googlemap.php');rnrn[/code]
表单提交,处理值
rnrnrnrnrnrn rnrnrn我想要的功能是,如果A1大于4 或是A2大于4 则A3等于4。rn再有,我再处理前首先要处理一下是不是数值rn
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法