0 0

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,'&amp;');
		str=str.replace(/</g,'&lt;');
		str=str.replace(/>/g,'&gt;');
		str=str.replace(/'/g,'&apos;');
		str=str.replace(/"/g,'&quot;');
		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个答案 按时间排序 按投票排序

0 0

可以间接利用form来提交不可以吗?以为知道了action=index.jsp

例如:直接提交.....index.jsp?uid=11&domain_name=2&pass=123...

不可以吗?如无穷多可以拼个传加上去

2010年3月16日 16:41
0 0

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
0 0

我不知道为什么你要一个一个提交Form
这样每个Form都用Ajax提交的话 不知道会不会出现什么问题 ,因为如果Form过多 势必会同时向服务器发送过多包
其实一个Form完全可以满足你的要求
你把遍历出来的元素放在一个Form里 一起提交

2010年3月12日 21:44
0 0

不好意思刚才没看清楚你的需求 但是你的需求很奇怪
依你的意思无非是将本页面信息同时通知到另外一个页面,这个和ajax无关,因为你完全不需要客户端参与 你要做的就是用session 存贮当前信息 然后在下个jsp页面取出即可

2010年3月12日 16:11
0 0

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,'&amp;');
		str=str.replace(/</g,'&lt;');
		str=str.replace(/>/g,'&gt;');
		str=str.replace(/'/g,'&apos;');
		str=str.replace(/"/g,'&quot;');
		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 登录跳转页面 在本节中,我们将详细介绍 JSP 登录跳转页面的实现细节,包括首页登录页面、判断 check 页面和最后的成功登录显示页面。 首页登录页面 首页登录页面是用户登录系统的入口点。该页面是使用 JSP ...

    jsp页面的五种跳转方式

    jsp页面的五种跳转方式 java jsp

    JSP和HTML跳转.zip_html挑转jsp_jsp和HEML跳转_jsp和HTML跳转

    2. HTML的`&lt;form&gt;`标签:利用表单提交可以实现页面跳转,通过`action`属性设置处理表单的服务器端脚本,`method`属性(默认GET,也可设置为POST)决定数据提交方式。例如: ```html &lt;form action="process.jsp" ...

    JSP页面的五种跳转方法

    在使用forward()时,所有表单提交的信息都可以在目标页面中访问,因为这是服务器内部的转发,浏览器地址栏的URL不会改变。然而,forward()不支持重定向到包含frame的JSP文件,但可以重定向到有frame的HTML文件。此外...

    java五种jsp页面跳转方法详解

    java五种jsp页面跳转方法详解 2009-08-21 09:06 1. RequestDispatcher.forward()  是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到 另外一个Servlet,JSP 或普通HTML...

    jsp页面js调用form表单的值的方法

    在一个jsp页面中,定义了一个用户登录界面(以form表单定义),但要达到检验输入的信息的合法性,就需要对输入的用户信息作判断,那么自然就需要取出其中的值。有的页面可以用action传参来得到form中输入的信息值,...

    jsp_html_web_实现页面跳转

    2. **表单提交跳转**:在`&lt;form&gt;`标签中设置`action`属性为目标页面,提交表单时会跳转到该页面: ```html &lt;form action="targetPage.html" method="get"&gt; 提交"&gt; &lt;/form&gt; ``` 三、结合JSP与HTML 在实际应用...

    纯jsp登录界面自动跳转

    这些表单会提交到服务器端的JSP页面进行处理。 ```jsp &lt;form action="login.jsp" method="post"&gt; 用户名:&lt;input type="text" name="username" required&gt;&lt;br&gt; 密码:...

    JSP之使用jsp:forward实现用户信息验证的页面跳转

    在这个例子中,用户提交表单后,请求会被发送到`checkLogin.jsp`。在这个页面中,我们可以使用Java脚本来验证用户输入: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; String username = request....

    JSP页面的跳转方式汇总

    JSP页面的跳转方式汇总:1、使用超级链接跳转,2、使用表单提交的方式跳转页面,3、修改HTTP header的Location属性来重定向,4、JSP中实现在某页面停留若干秒后,自动重定向到另一页面,5、jsp标签跳转:<jsp:forward ...

    JSP跳转页面整理收集

    你可以通过JavaScript来提交表单,实现页面跳转。例如: ```javascript document.formName.action = "test.jsp"; document.formName.submit(); ``` 6. **URL参数传递** 有时我们需要将当前页面的URL作为参数...

    jsp登录页面设计源代码

    jsp登录页面设计源代码 jsp登录页面设计是指使用jsp语言来...jsp登录页面设计需要考虑到多个方面,包括HTML代码设计、样式设计、表单设计、jsp页面设计、认证机制、Session管理、页面跳转、数据库访问和Error处理等。

    form表单只提交数据而不进行页面跳转的解决方案

    点击submit按钮或直接回车可以将数据提交到saveReport页面,但是提交后也会跳转到saveReport页面 如何做到 将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢?...

    JSP页面跳转大全.docx

    - **E**: 使用JavaScript提交表单也是一种跳转方式,通过修改表单的`action`属性并调用`submit()`方法,可以模拟用户点击按钮提交表单并跳转到指定的处理页面。 在选择跳转方法时,通常考虑以下几个因素:是否需要...

    JSP_1.zip_JSP实现页面跳转_jsp学易网登录

    2. **验证**:JSP页面接收到表单提交后,会使用Java代码来验证用户输入的信息,这可能涉及到数据库查询或其他身份验证机制。 3. **跳转**:验证成功后,使用`sendRedirect()`方法将用户重定向到登录成功的页面,如...

    JSP 注册页面JSP 注册页面

    这可能涉及到跳转到错误页面,或者在当前页面上显示错误提示。 8. **安全性**:密码通常需要加密存储,以保护用户信息的安全。可以使用Java的加密库,如`java.security.MessageDigest`来进行哈希处理。 9. **会话...

    jsp 应用获取表单元素

    错误处理和重定向:\n 如果表单数据验证失败,可以使用response.sendRedirect()重定向到错误提示页面,或者使用JSP内置的errorPage指令跳转。\n\n总结来说,JSP获取表单元素的技术是构建动态Web应用的基础,它涉及...

    基于jsp的动态效果的登录页面

    此外,还可以使用AJAX实现无刷新登录,即在提交表单时,页面不刷新,仅更新必要的部分。 3. JSP EL(Expression Language):在JSP中,EL用于简洁地访问JavaBean属性,可以用来展示错误消息或者根据登录状态显示不同...

    JSP跳转方式总结.doc

     是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的...

Global site tag (gtag.js) - Google Analytics