伤城文章网 > 动画/交互技巧 > AJAX实例入门

AJAX实例入门


?

AJAX 实例入门
网友评论 0 条 转载到博客 2007-7-7 15:59:22
?

来源: 本站整理

顶一下 最大的网站源码资源下载站,www.alixixi.com. 一、开门见山 这些时间,瞎子也看得见,AJAX 正大踏步的朝我们走来。不管我们是拥护 也好,反对也罢,还是视而不见,AJAX 像一阵潮流,席转了我们所有的人。 关于 AJAX 的定义也好,大话也好,早有人在网上发表了汗牛充栋的文字, 在这里我也不想照本宣科。 只想说说我感觉到的一些优点,对于不对,大家也可以和我讨论: 首先是异步交互,用户感觉不到页面的提交,当然也不等待页面返回。这是 使用了 AJAX 技术的页面给用户的第一感觉。 其次是响应速度快,这也是用户强烈体验。 然后是与我们开发者相关的,复杂 UI 的成功处理,一直以来,我们对 B/S 模式的 UI 不如 C/S 模式 UI 丰富而苦恼。现在由于 AJAX 大量使用 JS,使得复杂 的 UI 的设计变得更加成功。 最后,AJAX 请求的返回对象为 XML 文件,这也是一个潮流,就是 WEB SERVICE 潮流一样。易于和 WEB SERVICE 结合起来。 好了,闲话少说,让我们转入正题吧。 我们的第一个例子是基于 Servlet 为后台的一个 web 应用。 二、基于 Servlet 的 AJAX 这是一个很常见的 UI,当用户在第一个选择框里选择 ZHEJIANG 时,第二 个选择框要出现 ZHEJIANG 的城市; 当用户在第一个选择框里选择 JIANGSU 时, 第二个选择框里要出现 JIANGSU 的城市。

首先,我们来看配置文件 web.xml,在里面配置一个 servlet,跟往常一样: <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>SelectCityServlet</servlet-name> <servlet-class>com.stephen.servlet.SelectCityServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SelectCityServlet</servlet-name> <url-pattern>/servlet/SelectCityServlet</url-pattern> </servlet-mapping> </web-app> 然后,来看我们的 JSP 文件: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>MyHtml.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <script type="text/javascript"> function getResult(stateVal) { var url = "servlet/SelectCityServlet?state="+stateVal; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } if(req){ req.open("GET",url, true); req.onreadystatechange = complete; req.send(null);

} } function complete(){ if (req.readyState == 4) { if (req.status == 200) { var city = req.responseXML.getElementsByTagName("city"); file://alert(city.length); var str=new Array(); for(var i=0;i<city.length;i++){ str[i]=city[i].firstChild.data; } file://alert(document.getElementById("city")); buildSelect(str,document.getElementById("city")); } } } function buildSelect(str,sel) { sel.options.length=0; for(var i=0;i<str.length;i++) { sel.options[sel.options.length]=new Option(str[i],str[i]) } } </script> <body> <select name="state" onChange="getResult(this.value)"> <option value="">Select</option>> <option value="zj">ZEHJIANG</option>> <option value="zs">JIANGSU</option>> </select> <select id="city"> <option value="">CITY</option> </select> </body> </html> 第一眼看来,跟我们平常的 JSP 没有两样。仔细一看,不同在 JS 里头。 我们首先来看第一个方法:getResult(stateVal),在这个方法里,首先是取 得 XmlHttpRequest;然后设置该请求的 url:req.open("GET",url, true);接着设 置请求返回值的接收方法:req.onreadystatechange = complete;该返回值的接 收方法为——complete();最后是发送请求:req.send(null); 然后我们来看我们的返回值接收方法:complete(),这这个方法里,首先判 断是否正确返回,如果正确返回,用 DOM 对返回的 XML 文件进行解析。关于

DOM 的使用,这里不再讲述,请大家参阅相关文档。得到 city 的值以后,再通 过 buildSelect(str,sel)方法赋值到相应的选择框里头去。 最后我们来看看 Servlet 文件: import java.io.IOException; import java.io.PrintWriter; import import import import javax.servlet.ServletException; javax.servlet.http.HttpServlet; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse;

/** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SelectCityServlet extends HttpServlet {

public SelectCityServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); String state = request.getParameter("state"); StringBuffer sb=new StringBuffer("<state>"); if ("zj".equals(state)){ sb.append("<city>hangzhou</city><city>huzhou</city>"); } else if("zs".equals(state)){ sb.append("<city>nanjing</city><city>yangzhou</city><cit y>suzhou</city>"); } sb.append("</state>");

PrintWriter out=response.getWriter(); out.write(sb.toString()); out.close(); } } 这个类也十分简单,首先是从 request 里取得 state 参数,然后根据 state 参数生成相应的 XML 文件,最后将 XML 文件输出到 PrintWriter 对象里。 到现在为止, 第一个例子的代码已经全部结束。是不是比较简单?我们进入 到第二个实例吧!这次是基于 JSP 的 AJAX 的一个应用。 三、基于 JSP 的 AJAX 这个例子是关于输入校验的问题,我们知道,在申请用户的时候,需要去数 据库对该用户性进行唯一性确认,然后才能继续往下申请。 这种校验需要访问后台数据库,但又不希望用户在这里提交后等待,当然是 AJAX 技术大显身手的时候了。 首先来看显示 UI 的 JSP: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Check.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <script type="text/javascript"> var http_request = false; function send_request(url) {//初始化、指定处理函数、发送请求的函数 http_request = false; file://开始初始化 XMLHttpRequest 对象 if(window.XMLHttpRequest) { file://Mozilla 浏览器 http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) {//设置 MiME 类别 http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE 浏览器

try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { // 异常,创建对象实例失败 window.alert("不能创建 XMLHttpRequest 对象实例."); return false; } http_request.onreadystatechange = processRequest; // 确定发送请求的方式和 URL 以及是否同步执行下段代码 http_request.open("GET", url, true); http_request.send(null); } // 处理返回信息的函数 function processRequest() { if (http_request.readyState == 4) { // 判断对象状态 if (http_request.status == 200) { // 信息已经成功返回,开始处理信 息 alert(http_request.responseText); } else { file://页面不正常 alert("您所请求的页面有异常。"); } } } function userCheck() { var f = document.form1; var username = f.username.value; if(username=="") { window.alert("The user name can not be null!"); f.username.focus(); return false; } else { send_request('check1.jsp?username='+username); } } </script> <body> <form name="form1" action="" method="post">

User Name:<input type="text" name="username" value="">&nbsp; <input type="button" name="check" value="check" onClick="userCheck()"> <input type="submit" name="submit" value="submit"> </form> </body> </html> 所有的 JS 都跟上一个例子一样, 不同的只是对返回值的操作, 这次是用 alert 来显示:alert(http_request.responseText); 我们来看处理逻辑 JSP: <%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %> <% String username= request.getParameter("username"); if("educhina".equals(username)) out.print("用户名已经被注册,请更换一个用 户名。"); else out.print("用户名尚未被使用,您可以继续。"); %> 非常简单,先取得参数,然后作处理,最后将结果打印在 out 里。 我们的第三个例子仍然以这个唯一性校验为例子, 这次结合 Struts 开发框架 来完成 AJAX 的开发。 四、基于 Struts 的 AJAX 首先,我们仍然是对 Struts 应用来做配置,仍然是在 struts-config,xml 文件 里做配置,如下: <action type="com.ajax.CheckAction" scope="request" path="/ajax/check"> <forward name="success" path="/check.jsp"/> </action>

跟普通的 Struts 应用的配置一样,只是没有 ActionForm 的配置。 下面是 Action 类: package com.ajax; import java.io.PrintWriter; import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse; import import import import import org.apache.struts.action.Action; org.apache.struts.action.ActionForm; org.apache.struts.action.ActionForward; org.apache.struts.action.ActionMapping; org.apache.struts.action.DynaActionForm;

/** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class CheckAction extends Action { public final ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("haha..............................."); String username= request.getParameter("username"); System.out.println(username); String retn; if("educhina".equals(username)) retn = "Can't use the same name with the old use,pls select a difference..."; else retn = "congraducation!you can use this name...."; PrintWriter out=response.getWriter(); out.write(retn); out.close(); return mapping.findForward("success"); } public static void main(String[] args) { } } 我们可以看到里面的逻辑跟上例中 Servlet 里的逻辑一样。最后,我们来看 看 JSP: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>

<title>Check.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> </head> <script type="text/javascript"> var http_request = false; function send_request(url) {//初始化、指定处理函数、发送请求的函数 http_request = false; file://开始初始化 XMLHttpRequest 对象 if(window.XMLHttpRequest) { file://Mozilla 浏览器 http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) {//设置 MiME 类别 http_request.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { // IE 浏览器 try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { // 异常,创建对象实例失败 window.alert("不能创建 XMLHttpRequest 对象实例."); return false; } http_request.onreadystatechange = processRequest; // 确定发送请求的方式和 URL 以及是否同步执行下段代码 http_request.open("GET", url, true); http_request.send(null); } // 处理返回信息的函数 function processRequest() { if (http_request.readyState == 4) { // 判断对象状态 if (http_request.status == 200) { // 信息已经成功返回,开始处理信 息 alert(http_request.responseText); } else { file://页面不正常

alert("您所请求的页面有异常。"); } } } function userCheck() { var f = document.forms[0]; var username = f.username.value; if(username=="") { window.alert("The user name can not be null!"); f.username.focus(); return false; } else { send_request('ajax/check.do?username='+username); } } </script> <body> <form name="form1" action="" method="post"> User Name:<input type="text" name="username" value="">&nbsp; <input type="button" name="check" value="check" onClick="userCheck()"> <input type="submit" name="submit" value="submit"> </form> </body> </html> 我们可以看到,JSP 基本是一样的,除了要发送的 url: ajax/check.do?username='+username。 最后, 我们来看一个基于 Struts 和 AJAX 的复杂一些的例子, 如果不用 AJAX 技术,UI 的代码将十分复杂。 五、一个复杂的实例 这是一个比较复杂的级联:一共八个列表框,三个下拉框。从第一个列表框 里选择到第二个列表框里后, 第一个选择框里的选项是第二个列表框的选择;然 后, 在第一个选择框里选择以后,与选择值关联的一些选项出现在第三个列表框 里。从第三个列表框里选择选项到第四个列表框里,同样,第二个选择框的选项 也是第四个列表框的选项;如果对第二个选择框进行选择后,与选择值关联的一 些选项出现在第六个列表框里,依次类推…… 这个 UI 的逻辑就比较复杂, 但使用了 AJAX 使得我们实现起来就简单多了, 这个例子我们除了使用 Action 类,还要用到 POJO 类和 Business 类,然后我们 扩展的话,可以通过 Business 类和数据库连接起来。

我们还是先看配置文件: <action type="com.ajax.SelectAction" scope="request" path="/ajax/select"> <forward name="success" path="/select.jsp"/> </action> 然后看看 Action 类: /* /** * Title : Base Dict Class * Description : here Description is the function of class, here maybe multirows * Copyright: Copyright (c) 2004 * @company Freeborders Co., Ltd. * @Goal Feng * @Version 1.0 */ package com.ajax; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import import import import org.apache.struts.action.Action; org.apache.struts.action.ActionForm; org.apache.struts.action.ActionForward; org.apache.struts.action.ActionMapping;

/** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SelectAction extends Action { public final ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception

{ response.setContentType("text/xml"); response.setHeader("Cache-Control", "no-cache"); String type = request.getParameter("type"); String id = request.getParameter("id"); System.out.println(id); StringBuffer sb=new StringBuffer("<select>"); sb.append("<type>"+type+"</type>"); List list = new SelectBusiness().getData(id); for(int i=0;i<list.size();i++) { SelectForm sel = (SelectForm)list.get(i); sb.append("<text>"+sel.getText()+"</text><value>"+sel.getValue ()+"</value>"); } sb.append("</select>"); PrintWriter out=response.getWriter(); out.write(sb.toString()); out.close(); System.out.println(sb.toString()); return mapping.findForward("success"); } public static void main(String[] args) { } } POJO 类和 Business 类: package com.ajax; /** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SelectForm { private String text; private String value; /** * @return Returns the text.

*/ public String getText() { return text; } /** * @param text The text to set. */ public void setText(String text) { this.text = text; } /** * @return Returns the value. */ public String getValue() { return value; } /** * @param value The value to set. */ public void setValue(String value) { this.value = value; } public static void main(String[] args) { } }

package com.ajax; import java.util.ArrayList; import java.util.List; /** * @author Administrator * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class SelectBusiness

{ public List getData(String id) { ArrayList list = new ArrayList(); for(int i=1;i<6;i++) { SelectForm form = new SelectForm(); form.setText(id+i); form.setValue(id+i); list.add(form); } return list; } public static void main(String[] args) { } }
下一页

上一篇:XSL JavaScript+XMLDOM 的使用 下一篇:掌握 Ajax 第 2 部分:使用 JavaScript 和... 搜百度:ajax
?

相关 ajax 的文章: php+ajax 解决中文乱码问题 在 c#中如何调用 ajax 进行开发 使用 php+ajax 实现登录功能教程 ajax 如何从服务器端返回 xml 数据 什么是 Ajax 技术?

? ? ? ? ?

网友评论全部评论
您还没登陆呢,点这里登陆共有 0 位网友发表了看法

阅读排行
? ? ? ? ? ? ? ? ? ? ? ?

XML 轻松学习手册(1) XML 轻松学习手册(2) XML 入门 (下) XML 入门指南(1)XML 简介 XML Web Service 安全性 一日精通 Ajax 技术 XML 入门的一些常见的问题总... XML 与 HTML 的结合(下) XML 轻松学习手册(4) 给 XML 初学者建议 BizTalk 框架概述 轻松使用 DOM 的技巧和诀窍...

热门文章
? ? ? ? ? ? ? ? ? ? ? ?

XML 轻松学习手册(1) XML 轻松学习手册(2) XML 入门 (下) XML 技术入门讲座(1) XML 编程实例 XML 轻松学习手册(4) XML Schema 全接触 XML 入门指南(1)XML 简介 关于 XML 的十种观点 XMLDOM 对象方法:对象属性... XML Web Service 安全性 XML Schema 用法

?

关于我们·免责声明·广告服务·版权隐私·联系我们·友情链接·网站地图·免 费收录·本站技术 QQ 群:17701495 Copyright 2004-2008 ? Alixixi.com 广告合作 QQ:178010108

? ? ?

j
edit.jsp <%@page language="java" contentType="text/html;charset=gb2312" errorPage="error.jsp"%> <jsp:useBean id="get" scope="page" class="com.tecpenguin.conndb. ConnMySQL"> </jsp:useBean> <html>

?

<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2 312"> <link rel="stylesheet" type="text/css" href="style.css"> <title></title> <script language="Javascript"><!-- // load htmlarea _editor_url = "./editor/"; ea files var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE") [1]); if (navigator.userAgent.indexOf('Mac') r = 0; } if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ve r = 0; } if (navigator.userAgent.indexOf('Opera') r = 0; } if (win_ie_ver >= 5.5) { document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js" '); document.write(' language="Javascript"></scr' + 'ipt>'); >= 0) { win_ie_ve >= 0) { win_ie_ve // URL to htmlar

} else { document.write('<scr'+'ipt>function editor_generate() { return false; }</scr'+'ipt>'); } // --></script> <style type="text/css"> <!-.style1 { font-size: 36px; color: #FF0000; font-weight: bold; font-family: "长城行楷体"; } .style2 { font-size: 14px; color: #FF0000; font-weight: bold; } --> </style> </head> <body> <center><br><br><font color="red">添加新文章</font> <table> <form name="form" method="post" action="insert.jsp"> <tr><td><p align="left"><font size="2">标题:</font> <input type="input" name="title" size="38"></p></td></tr> <tr><td><p align="left"><font size="2">作者: </font><input type="input" name="author" size="14"></p></td> </tr>

</p>
?

<tr bgcolor="#FFFFFF"> <td align="center"><div align="left"><br> <span class="style2">信息内容</span></div>< /td> <tr> <td> <div align="left"> <textarea rows="22" name="txtcontent" cols= "83"></textarea> <br> <script language="javascript"> editor_generate('txtcontent'); </script>
?

</div></td> </tr> <tr> <td><p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&n bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <input type="submit" name="Submit" value="提交"> &nbsp;&nbsp; &nbsp; <input type="submit" name="Submit2" value="取消"> </p></td></tr> </form></table>

?

</center>

</center>

</body> </html>
? ? ?

这是插入数据库 insert.jsp <%@page language="java" contentType="text/html;charset=gb2312 "%> <jsp:useBean id="get" scope="page" class="com.tecpenguin.conndb. ConnMySQL"> </jsp:useBean> <jsp:useBean id="time" scope="page" class="com.tecpenguin.connd b.Time"> </jsp:useBean> <% String date=time.date(); String title=new String(request.getParameter("title").getBytes ("ISO8859_1")); String author=new String(request.getParameter("author").getByte s("ISO8859_1"));

?

String text=new String(request.getParameter("txtcontent").getBy tes("ISO8859_1"));

get.conndb(); get.stmt=get.con.createStatement();
?

String

sql="insert into cjs_news(date,title,author,text) value

s('"+date+"','"+title+"','"+author+"','"+text+"')";
?

get.rs=get.stmt.executeQuery(sql); %> <% out.println("输入新闻成功!请等待三秒钟!"); response.setHeader("Refresh","2;URL=edit.jsp");

?

%> 这是文章管理部分

? ?

controtxt.jsp <%@page language="java" contentType="text/html;charset=gb2312" errorPage="error.jsp"%> <jsp:useBean id="get" scope="page" class="com.tecpenguin.connd b.ConnMySQL"> </jsp:useBean>

?

<% get.conndb(); get.stmt = get.con.createStatement(); get.rs = get.stmt.executeQuery("select * from cjs_news order by id desc"); %><br><br><br><br><br> <center><font color="red" size="2">文章管理页面</font><br> <table border="3"> <tr><td align="center">文章标题</td><td>日期</td><td>作者</td>< td align="center">点击删除</td><td align="center">点击修改</td> </tr> <%int i=0; while(get.rs.next()) { i=++i;%> <tr ><td><%=get.rs.getString("title")%></td><td><%=get.rs.getSt ring("date")%></td><td><%=get.rs.getString("author")%></td> <td> <a href="delte.jsp?id=<%=get.rs.getString("id")%>">点击删除</a> </td><td><a href="change.jsp?id=<%=get.rs.getString("id")%>">点 击修改</a></td></tr>

?

<%} %> </table>

? ? ?

删除文章 del.jsp <%@page language="java" contentType="text/html;charset=gb2312"%> <jsp:useBean id="get" scope="page" class="com.tecpenguin.conndb. ConnMySQL"> </jsp:useBean> <% String id = new String(request.getParameter("id")); get.conndb(); String sql ="delete from cjs_news where id = '"+id+"'"; get.stmt.executeUpdate(sql); %><center> 操作成功,本页将在 3 秒后自动返回。</center> <meta http-equiv="refresh" content = "3;URL=controtext.jsp"> <% get.stmt.close(); get.con.close(); %> 修改文章

? ?

change.jsp <%@page language="java" contentType="text/html;charset=gb2312"%> <jsp:useBean id="get" scope="page" class="com.tecpenguin.conndb. ConnMySQL" > </jsp:useBean> <%

?

get.conndb(); String id=new String(request.getParameter("id")); get.rs = get.stmt.executeQuery("select * from cjs_news where id ='"+id+"'"); get.rs.next(); %>

?

<html>
?

<head> <meta http-equiv="Content-Type" content="text/html; charset=gb2 312"> <link rel="stylesheet" type="text/css" href="style.css"> <title></title> <script language="Javascript"><!-- // load htmlarea _editor_url = "./editor/"; ea files var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE") [1]); if (navigator.userAgent.indexOf('Mac') r = 0; } if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ve r = 0; } if (navigator.userAgent.indexOf('Opera') r = 0; } if (win_ie_ver >= 5.5) { document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js" '); document.write(' language="Javascript"></scr' + 'ipt>'); } else { document.write('<scr'+'ipt>function editor_generate() >= 0) { win_ie_ve >= 0) { win_ie_ve // URL to htmlar

{ return false; }</scr'+'ipt>'); } // --></script> <style type="text/css"> <!-.style1 { font-size: 36px; color: #FF0000; font-weight: bold; font-family: "长城行楷体"; } .style2 { font-size: 14px; color: #FF0000; font-weight: bold; } --> </style> </head> <form name="form" method="post" action="dochange.jsp">
? ?

<input type=hidden name=id value="<%=get.rs.getString("id")%>"> <p align="left"><font size="2">标题:</font><input type="input" name="title" value="<%=get.rs.getString("title")%>"></p> <p align="left"><font size="2">作者:</font><input type="inp ut" name="author" size="14" value="<%=get.rs.getString("author ")%>"></p>

?

</tr> <tr bgcolor="#FFFFFF">

<td

align="center"><div align="left"><br> <span class="style2">信息内容</span></div><

/td> <td> <div align="left"> <textarea rows="22" name="txtcontent" cols= "83"><%=get.rs.getString("text")%>"</textarea> <br> <script language="javascript"> editor_generate('txtcontent'); </script>
?

</div></td> </tr> <p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; <input type="submit" name="Submit" value="提交"> &nbsp;&nbsp; &nbsp; <input type="reset" name="Submit2" value="取消"> </p> </form>

? ?

dochange.jsp <%@page language="java" contentType="text/html;charset=gb2312 "%>

?

<jsp:useBean id="get" scope="page" class="com.tecpenguin.conndb. ConnMySQL"> </jsp:useBean>

?

<% get.conndb();

String id=new String(request.getParameter("id").getBytes("ISO88 59_1")); String title=new String(request.getParameter("title").getBytes ("ISO8859_1")); String author=new String(request.getParameter("author").getByte s("ISO8859_1"));
?

String text=new String(request.getParameter("txtcontent").getBy tes("ISO8859_1"));

?

get.stmt=get.con.createStatement(); int updateinfo=get.stmt.executeUpdate("update cjs_news set titl e='"+title+"',author='"+author+"',text='"+text+"' where id='"+i d+"' ");
?

?

%>
?



搜索更多“AJAX实例入门”

网站地图

All rights reserved Powered by 伤城文章网 5xts.com

copyright ©right 2010-2021。
伤城文章网内容来自网络,如有侵犯请联系客服。zhit325@126.com