接着上一次的AJAX for Java简单表数据查询实例,本例将实现一个AJAX for Java的简单数据提交(增加,删除,修改)操作,这个例子是单表操作,也可以实现主从表的数据提交。<o:p></o:p>
用AJAX WebShop打开上次的例子工程java_example.wpj,选择File->New Java Service,从左边的工程树中选择demo/Simple.Java文件打开:<o:p></o:p>
<o:p></o:p>
在代码中找到update_XML方法,它的代码如下:<o:p></o:p>
<o:p> </o:p>
public class Simple extends BusinessObjectBean {<o:p></o:p>
String drivers = "sun.jdbc.odbc.JdbcOdbcDriver";<o:p></o:p>
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=database/demo.mdb";<o:p></o:p>
String tablename = "product";<o:p></o:p>
String username = "";<o:p></o:p>
String password = "";<o:p></o:p>
<o:p></o:p>
public joyistar.eip.vo.XmlDataSet update_XML(joyistar.eip.vo.XmlDataSet xmlDataSet) throws Exception {<o:p></o:p>
Connection conn = null;<o:p></o:p>
Statement stmt = null;<o:p></o:p>
XmlAction action = null;<o:p></o:p>
String sql = null;<o:p></o:p>
String where = null;<o:p></o:p>
try {<o:p></o:p>
System.setProperty("jdbc.drivers", drivers);<o:p></o:p>
conn = DriverManager.getConnection(url, username, password);<o:p></o:p>
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);<o:p></o:p>
conn.setAutoCommit(false); <o:p></o:p>
for(int i = 0; i<xmlDataSet.actions.size(); i++) {<o:p></o:p>
action = xmlDataSet.getAction(i);<o:p></o:p>
sql = xmlDataSet.buildSql(action, tablename);<o:p></o:p>
if(sql!=null)<o:p></o:p>
stmt.executeUpdate(sql);<o:p></o:p>
}<o:p></o:p>
conn.commit(); <o:p></o:p>
} <o:p></o:p>
catch(Exception e) {<o:p></o:p>
xmlDataSet.error = e.getMessage();<o:p></o:p>
e.printStackTrace();<o:p></o:p>
} <o:p></o:p>
finally {<o:p></o:p>
if(stmt != null)<o:p></o:p>
stmt.close();<o:p></o:p>
if(conn != null)<o:p></o:p>
conn.close();<o:p></o:p>
}<o:p></o:p>
return xmlDataSet;<o:p></o:p>
}<o:p></o:p>
|
<o:p> </o:p>
由于在上个例子数据查询时我们已指定了数据库连接和表名,因此在这里我们不需要额外的代码就可以依托这个框架来提交最基本的数据(增删改)到数据库中。<o:p></o:p>
在这里主要用到的方法是XmlAction的buildSql方法,从而将每条数据变化生成SQL供执行,当然,您也可以使用XmlAction的更多属性和方法,自已生成更灵活的SQL,比如更多相关表的提交、数据提交前的处理等。数据变化的情况都可以通过XmlAction取得,详细的使用方法请参考帮助文档及XmlDataSet和XmlAction的源代码(商业版附件)。<o:p></o:p>
<o:p> </o:p>
现在运行界面网页simple.htm,就可以在下面的结果中操作增加、修改、删除数据后并提交到数据库啦。<o:p></o:p>
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 378pt; HEIGHT: 249.75pt" type="#_x0000_t75" o:ole=""><v:imagedata o:title="" src="file:///E:\DOCUME~1\jy\LOCALS~1\Temp\msohtml1\01\clip_image001.png"></v:imagedata></v:shape><o:p></o:p>
<o:p> </o:p>
分享到:
相关推荐
在这个“ajax入门实例|ajax注册实例”中,我们将学习如何构建一个简单的Ajax用户注册系统,尽管它并未与实际数据库交互,但足以帮助初学者理解Ajax的工作原理。 首先,我们需要创建一个HTML表单,用于用户输入注册...
在实际开发中,我们常常会遇到需要发送Ajax请求获取或提交List和Map类型的数据。List和Map是Java中两种常用的数据结构,List用于存储有序的元素集合,而Map则用于存储键值对。 ### 1. Ajax 请求基础 #### 1.1 ...
在实际应用中,可能需要使用AJAX异步提交数据,或者在表单提交时一次性处理所有数据。 为了优化性能,我们还需要关注一些关键点: 1. **批处理大小**:根据数据库和应用的需求调整批处理的大小,太小可能导致频繁的...
本教程“Java Script精彩实例教程”旨在通过丰富的实例帮助学习者掌握JavaScript的基本概念和实际应用。 首先,JavaScript的核心在于其事件驱动和基于原型的特性。事件驱动意味着JavaScript能够监听并响应用户的...
1. **表单无刷新验证**:在用户输入数据时,使用Ajax实时验证,无需提交表单即可得到反馈。 2. **动态加载内容**:如分页加载、无限滚动,通过Ajax获取新数据并更新页面。 3. **地图应用**:拖动地图或缩放时,...
在本例中,我们将关注如何在JSP(JavaServer Pages)环境中,利用AJAX技术处理复选框(checkbox)的选择状态并传递其值到后台。以下是一个具体的实例,详细解释了这个过程。 首先,HTML部分通常会包含一组复选框,...
批量上传通常涉及到多个文件的选取和发送,这需要前端页面(如JSP)提供一个多选文件的输入框,并通过AJAX或者表单提交方式将文件数据传到服务器。在后端,Java应用会接收到这些文件流,然后进行处理和存储。 对于...
2. 表单验证:通过监听表单提交事件,实现客户端的数据验证。 3. AJAX:异步 JavaScript 和 XML,用于在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。 4. jQuery库:提供了一系列便捷的API,简化了...
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 #### 二、开发步骤详解 ##### 1. 创建 XMLHttpRequest 对象 ```...
总结来说,这个实例展示了如何通过HTML表单、JavaScript(jQuery)和Ajax技术,配合后台的Java控制器(action层)实现无刷新的数据提交。用户在界面上填写或选择信息后,点击按钮触发Ajax请求,将数据发送到服务器,...
2. 数据提交:在用户编辑完成后,通过Ajax异步提交编辑器中的内容到服务器,服务器端接收到请求后,将内容保存到数据库中。 3. 数据获取:当需要展示已存储的内容时,从数据库中查询出HTML代码,然后在页面上渲染。...
Ajax4JSF(全称 Ajax for JavaServer Faces)是Oracle公司开发的一个开源项目,它为JavaServer Faces (JSF) 提供了强大的Ajax功能支持。JSF 是Java平台上用于构建Web应用程序的一种MVC框架,而Ajax4JSF则进一步提升...
JavaScript的基础包括变量、数据类型、运算符、流程控制语句(如if...else、switch、for、while等)以及函数。理解这些基本概念是学习JavaScript的第一步。例如,变量用于存储数据,数据类型则决定了变量可以存储...
在本实例中,可能是使用XML文件来存储预设的表单数据或者接收用户提交后保存的数据。例如,一个简单的XML文件可能包含如下内容: ```xml ``` 在Action类中,我们可以使用DOM、SAX或JDOM等API解析XML文件,...
AJAX的POST方法是用于向服务器发送异步请求的一种方式,通常用于提交表单数据或者发送其他类型的数据。POST请求的主要优点是它可以在请求体中携带大量数据,这对于上传文件或传递复杂结构的数据非常有用。POST方法...
AJAX是实现网页无刷新更新的核心技术,它通过后台与服务器进行异步数据交换,使得用户界面可以保持交互性而不受影响。在JavaScript中,通常使用XMLHttpRequest对象来创建AJAX请求。首先,你需要创建一个...
4. **数据库设计**:一个简单的留言板系统可能包含至少两个表:一个是`messages`,记录每条留言的信息,包括留言内容、用户名、发表时间等;另一个可能是`users`,用于存储用户的基本信息,如用户名、密码(通常加密...
- **与后端交互**:通过Ajax或者Form提交方式,将文件数据发送到后端服务器。 **3. 后台Servlet实现** 在Java环境中,可以使用Servlet来接收并处理上传的文件。以下是一个简单的步骤: - **创建Servlet**:创建一...
而Ajax技术则能够实现局部数据的异步刷新,无需重载整个页面,从而有效改善用户体验。 #### 二、基本原理 Ajax(Asynchronous JavaScript and XML)是一种创建交互式网页应用的技术组合,它利用了JavaScript、...