-
jsp提交form 但不跳转页面15
知道ajax能做,但又不知道具体该怎么写。
希望有详细点的示例
如
while (rs.next()) {
<form name="<%=formname%>" action="index.jsp" method="post">
用户名:<input type="text" name="uid" value="<%=ZGH%>">
域名:<input type="text" name="domain_name" value="lzy.edu.cn">
密码:<input type="text" name="pass" value="<%=OAMM%>">
重输密码:<input type="text" name="confirm_pass" value="<%=OAMM%>">
<input type="submit">
document.<%=formname%>.submit();
}
每次遍历出一个form表单 就把内容提交到里面的内容到index.jsp 但提交后并不让页面跳转到index.jsp
问题补充:antiwise 写道xmlHttp就是普通的ajax对象 function ajaxSubmitForm(aform,tourl){ var eles = aform.elements; var xml='<?xml version="1.0" encoding="UTF-8"?><form>'; for(var i=0,ilen=eles.length;i<ilen;i++){ if(!eles[i].name||eles[i].disabled==true)continue; if(eles[i].type=='text'||eles[i].type=='textarea'||eles[i].type=='select-one'||eles[i].type=='hidden'||eles[i].type=='password'||((eles[i].type=='radio'||eles[i].type=='checkbox')&& eles[i].checked)) { xml+='<'+eles[i].name+'>'+swapStr(eles[i].value)+'</'+eles[i].name+'>'; } if(eles[i].type=='select-multiple') { var opts=eles[i].options; for(var j=0,jlen=opts.length;j<jlen;j++){ if(!opts[j].selected)continue; xml+='<'+eles[i].name+'>'+opts[j].value+'</'+eles[i].name+'>'; } } } xml+='</form>'; xmlHttp.open('post',aform.getAttributeNode('action').value,true); xmlHttp.onreadystatechange=function (){ if(xmlHttp.readyState!=4||xmlHttp.status!=200)return; var str=xmlHttp.responseText; alert(str); if(tourl)window.location.href=tourl; else{ window.returnValue=true; window.close(); } } xmlHttp.send(xml); } function swapStr(str) { if(!str)return ''; str=str.replace(/&/g,'&'); str=str.replace(/</g,'<'); str=str.replace(/>/g,'>'); str=str.replace(/'/g,'''); str=str.replace(/"/g,'"'); return str; } 服务器端 private Map<String,String[]> xmlToMap(HttpServletRequest request) throws DocumentException, IOException{ Map<String,String[]> map=new HashMap<String,String[]>(); SAXReader reader = new SAXReader(); Document doc = reader.read(request.getInputStream(),"UTF-8"); Element root = doc.getRootElement(); List<Element> es=root.elements(); HashSet<String> keys=new HashSet<String>(); for(Element e:es)keys.add(e.getName()); int i=0; for(String key:keys){ es=root.elements(key); String[] vals=new String[es.size()]; for(Element e:es)vals[i++]=e.getText(); i=0; map.put(key, vals); } if(false)printMap(map); return map; } private void printMap(Map<String,String[]> map){ StringBuffer sbf=new StringBuffer(); for(String key:map.keySet()){ sbf.append(key).append(":{"); for(String val:map.get(key)){ sbf.append("\"").append(val).append("\","); } sbf.append("}\n"); } Debug.print(sbf.toString()); } private void printMessage(HttpServletResponse response,String message){ try { response.setContentType("text/html;charset=utf-8"); PrintWriter writer=response.getWriter(); writer.write(message); writer.close(); } catch (IOException e) { Debug.print(e); } } public ActionForward ece(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ String message="操作成功!"; try{ Map<String, String[]> map=xmlToMap(request); //业务逻辑 }catch (SQLException e) { }finally{ printMessage(response,message); } return null; }
绝对吐血奉献了 公司机密
没看明白 能按照我上面的两个form表单做一个么 谢谢了
问题补充:antiwise 写道不好意思刚才没看清楚你的需求 但是你的需求很奇怪
依你的意思无非是将本页面信息同时通知到另外一个页面,这个和ajax无关,因为你完全不需要客户端参与 你要做的就是用session 存贮当前信息 然后在下个jsp页面取出即可
他们给了我个html 里面有个form 我在里面添加数据然后提交他们就能得到数据了 只是我现在要向他们提交的数据比较多 有无数个冲数据库遍历出来的form 我需要一个一个的向他们提交
2010年3月12日 14:59
5个答案 按时间排序 按投票排序
-
可以间接利用form来提交不可以吗?以为知道了action=index.jsp
例如:直接提交.....index.jsp?uid=11&domain_name=2&pass=123...
不可以吗?如无穷多可以拼个传加上去2010年3月16日 16:41
-
while (rs.next()) {
<form name="<%=formname%>" action="index.jsp" method="post">
用户名:<input type="text" name="uid" value="<%=ZGH%>">
域名:<input type="text" name="domain_name" value="lzy.edu.cn">
密码:<input type="text" name="pass" value="<%=OAMM%>">
重输密码:<input type="text" name="confirm_pass" value="<%=OAMM%>">
<input type="submit">
<script type="text/javascript">
document.<%=formname%>.submit(); </script>
}2010年3月16日 14:59
-
我不知道为什么你要一个一个提交Form
这样每个Form都用Ajax提交的话 不知道会不会出现什么问题 ,因为如果Form过多 势必会同时向服务器发送过多包
其实一个Form完全可以满足你的要求
你把遍历出来的元素放在一个Form里 一起提交
2010年3月12日 21:44
-
不好意思刚才没看清楚你的需求 但是你的需求很奇怪
依你的意思无非是将本页面信息同时通知到另外一个页面,这个和ajax无关,因为你完全不需要客户端参与 你要做的就是用session 存贮当前信息 然后在下个jsp页面取出即可2010年3月12日 16:11
-
xmlHttp就是普通的ajax对象 function ajaxSubmitForm(aform,tourl){ var eles = aform.elements; var xml='<?xml version="1.0" encoding="UTF-8"?><form>'; for(var i=0,ilen=eles.length;i<ilen;i++){ if(!eles[i].name||eles[i].disabled==true)continue; if(eles[i].type=='text'||eles[i].type=='textarea'||eles[i].type=='select-one'||eles[i].type=='hidden'||eles[i].type=='password'||((eles[i].type=='radio'||eles[i].type=='checkbox')&& eles[i].checked)) { xml+='<'+eles[i].name+'>'+swapStr(eles[i].value)+'</'+eles[i].name+'>'; } if(eles[i].type=='select-multiple') { var opts=eles[i].options; for(var j=0,jlen=opts.length;j<jlen;j++){ if(!opts[j].selected)continue; xml+='<'+eles[i].name+'>'+opts[j].value+'</'+eles[i].name+'>'; } } } xml+='</form>'; xmlHttp.open('post',aform.getAttributeNode('action').value,true); xmlHttp.onreadystatechange=function (){ if(xmlHttp.readyState!=4||xmlHttp.status!=200)return; var str=xmlHttp.responseText; alert(str); if(tourl)window.location.href=tourl; else{ window.returnValue=true; window.close(); } } xmlHttp.send(xml); } function swapStr(str) { if(!str)return ''; str=str.replace(/&/g,'&'); str=str.replace(/</g,'<'); str=str.replace(/>/g,'>'); str=str.replace(/'/g,'''); str=str.replace(/"/g,'"'); return str; } 服务器端 private Map<String,String[]> xmlToMap(HttpServletRequest request) throws DocumentException, IOException{ Map<String,String[]> map=new HashMap<String,String[]>(); SAXReader reader = new SAXReader(); Document doc = reader.read(request.getInputStream(),"UTF-8"); Element root = doc.getRootElement(); List<Element> es=root.elements(); HashSet<String> keys=new HashSet<String>(); for(Element e:es)keys.add(e.getName()); int i=0; for(String key:keys){ es=root.elements(key); String[] vals=new String[es.size()]; for(Element e:es)vals[i++]=e.getText(); i=0; map.put(key, vals); } if(false)printMap(map); return map; } private void printMap(Map<String,String[]> map){ StringBuffer sbf=new StringBuffer(); for(String key:map.keySet()){ sbf.append(key).append(":{"); for(String val:map.get(key)){ sbf.append("\"").append(val).append("\","); } sbf.append("}\n"); } Debug.print(sbf.toString()); } private void printMessage(HttpServletResponse response,String message){ try { response.setContentType("text/html;charset=utf-8"); PrintWriter writer=response.getWriter(); writer.write(message); writer.close(); } catch (IOException e) { Debug.print(e); } } public ActionForward ece(ActionMapping mapping,ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ String message="操作成功!"; try{ Map<String, String[]> map=xmlToMap(request); //业务逻辑 }catch (SQLException e) { }finally{ printMessage(response,message); } return null; }
绝对吐血奉献了 公司机密2010年3月12日 15:15
相关推荐
JSP 登录跳转页面 在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP ...
jsp页面的五种跳转方式 java jsp
2. HTML的`<form>`标签:利用表单提交可以实现页面跳转,通过`action`属性设置处理表单的服务器端脚本,`method`属性(默认GET,也可设置为POST)决定数据提交方式。例如: ```html <form action="process.jsp" ...
在使用forward()时,所有表单提交的信息都可以在目标页面中访问,因为这是服务器内部的转发,浏览器地址栏的URL不会改变。然而,forward()不支持重定向到包含frame的JSP文件,但可以重定向到有frame的HTML文件。此外...
java五种jsp页面跳转方法详解 2009-08-21 09:06 1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 另外一个Servlet,JSP 或普通HTML...
在一个jsp页面中,定义了一个用户登录界面(以form表单定义),但要达到检验输入的信息的合法性,就需要对输入的用户信息作判断,那么自然就需要取出其中的值。有的页面可以用action传参来得到form中输入的信息值,...
2. **表单提交跳转**:在`<form>`标签中设置`action`属性为目标页面,提交表单时会跳转到该页面: ```html <form action="targetPage.html" method="get"> 提交"> </form> ``` 三、结合JSP与HTML 在实际应用...
这些表单会提交到服务器端的JSP页面进行处理。 ```jsp <form action="login.jsp" method="post"> 用户名:<input type="text" name="username" required><br> 密码:...
在这个例子中,用户提交表单后,请求会被发送到`checkLogin.jsp`。在这个页面中,我们可以使用Java脚本来验证用户输入: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%> String username = request....
JSP页面的跳转方式汇总:1、使用超级链接跳转,2、使用表单提交的方式跳转页面,3、修改HTTP header的Location属性来重定向,4、JSP中实现在某页面停留若干秒后,自动重定向到另一页面,5、jsp标签跳转:<jsp:forward ...
你可以通过JavaScript来提交表单,实现页面跳转。例如: ```javascript document.formName.action = "test.jsp"; document.formName.submit(); ``` 6. **URL参数传递** 有时我们需要将当前页面的URL作为参数...
jsp登录页面设计源代码 jsp登录页面设计是指使用jsp语言来...jsp登录页面设计需要考虑到多个方面,包括HTML代码设计、样式设计、表单设计、jsp页面设计、认证机制、Session管理、页面跳转、数据库访问和Error处理等。
点击submit按钮或直接回车可以将数据提交到saveReport页面,但是提交后也会跳转到saveReport页面 如何做到 将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢?...
- **E**: 使用JavaScript提交表单也是一种跳转方式,通过修改表单的`action`属性并调用`submit()`方法,可以模拟用户点击按钮提交表单并跳转到指定的处理页面。 在选择跳转方法时,通常考虑以下几个因素:是否需要...
2. **验证**:JSP页面接收到表单提交后,会使用Java代码来验证用户输入的信息,这可能涉及到数据库查询或其他身份验证机制。 3. **跳转**:验证成功后,使用`sendRedirect()`方法将用户重定向到登录成功的页面,如...
这可能涉及到跳转到错误页面,或者在当前页面上显示错误提示。 8. **安全性**:密码通常需要加密存储,以保护用户信息的安全。可以使用Java的加密库,如`java.security.MessageDigest`来进行哈希处理。 9. **会话...
错误处理和重定向:\n 如果表单数据验证失败,可以使用response.sendRedirect()重定向到错误提示页面,或者使用JSP内置的errorPage指令跳转。\n\n总结来说,JSP获取表单元素的技术是构建动态Web应用的基础,它涉及...
此外,还可以使用AJAX实现无刷新登录,即在提交表单时,页面不刷新,仅更新必要的部分。 3. JSP EL(Expression Language):在JSP中,EL用于简洁地访问JavaBean属性,可以用来展示错误消息或者根据登录状态显示不同...
是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的...