AJAX编写用户注册实例及技术小结(1)
AJAX编写用户注册实例及技术小结(1)[@more@]我所举的这个例子是一个企业用户注册时的一个应用,当用户注册时检查用户名和企业名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。如果我们用Ajax技术来实现以上的操作则不必等待服务器返回信息,用户输入用户名或企业名称的时候,当输入文本框失去焦点的时候,则会自动向服务器发出请求,用户继续做下面的操作,不必点击“检查”,也不必等待服务器返回信息,检查与用户操作是异步的,可同时进行。当服务器信息返回的时候
AJAX+J2EE开发组织机构管理系统(6)
AJAX+J2EE开发组织机构管理系统(6)[@more@]. 业务逻辑层的实现后台开发我们用Java类来实现。这里我们开发了一个orgNew包,类名为orgManager。此类封装了与数据库操作有关的方法。通过main可调试程序的正确性。这里给出了新增加一个组织的全部代码和通过XML取得树结构信息的代码,树结构通过递归实现。package orgNew;// Java类所打的包import tool.*;import java.sql.*;import java.util.*; // 引用Java类的public class orgManager { public orgManager() { } public static void main(String[] args) throws Exception {Connection co
AJAX+J2EE开发组织机构管理系统(4)
AJAX+J2EE开发组织机构管理系统(4)[@more@]四、XML与XSL文件设计XML是种可扩展的标记语言,它具有开放的、可扩展的、可自描述的语言结构,它已经成为网上数据和文档传输的标准。XSLT的目的是将信息内容与 Web 显示分离,HTML 通过按抽象概念(如段落、重点和编号列表)定义显示来实现设备独立性。XSLT用来具体显示控件,设置控件风格。Ajax主要使用XML和XSLT进行数据交换与处理。1. 树信息的XML文件(见root.xml文件) XML是标记语言,元素必须成对出现。树结构中以tree为根结点,以item为结点体,属性text指出结点所显示的文本,id指出唯一
AJAX+J2EE开发组织机构管理系统(5)
AJAX+J2EE开发组织机构管理系统(5)[@more@]五、数据接口的实现(见Org.jpg文件)Org.JSP文件用来在服务器上运行Java的类与前台web页之间架起一座桥。取到中间件的接口作用。这里分析部分代码:<%@ page contentType="text/html; charset=GBK" %><%@ page import="java.sql.*" %><%@ page import="javax.naming.*" %><%@ page import="javax.sql.*" %><%@ page import="tool.*" %><%@ page import="orgNew.*" %><%@ page import="org.w3c.dom.*" %>/
AJAX+J2EE开发组织机构管理系统(3)
AJAX+J2EE开发组织机构管理系统(3)[@more@]) 删除组织组织删除同样是调用Org.jsp 文件中的deleteOrg方法来实现,该方法传递所删除的结点ID。function deleteOrg(){ var OrgId = OrgTree.getSelectedItemId(); var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.open("POST","Org.jsp?mode=deleteOrg&OrgId=" + OrgId, false); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send(); }6) 编辑组织组织修改是调用Org
AJAX+J2EE开发组织机构管理系统(2)
AJAX+J2EE开发组织机构管理系统(2)[@more@]2. 组织管理的实现组织可以增加、删除、编辑。同时当选择树结点时应该把组织显示出来供编辑,查看。为了实现这些功能,你只要按要求去改动就是了。1) 全局变量的定义许多地方我们要用到一些公共变量,我们在<script>与</script>之间定义全局变量, 代码如下:var OrgTree = null; //组织树Domvar nextSeq = 0;//人员管理的顺序号(流水号)var personDom;//人员Domvar CurrNodeId;//当前结点Id 2) 初始化当页面打开时我们要控件好那部分该显示,那部分要隐藏。且对全局变量的赋值等,组织类型装
AJAX+J2EE开发组织机构管理系统(1)
AJAX+J2EE开发组织机构管理系统(1)[@more@]本文件通过开发一个组织机构管理小系统全面介绍了Ajax开发的各个细节。通过与J2ee的结合来实现三层分布式开发的层次划分,后台与前端的调用。 一、概述AJAX是今年初才问世的新技术,是Asynchronous JavaScript and XML的缩写。它是一组开发Web应用程序的技术,它使浏览器可以为用户提供更为自然的浏览体验。每当需要更新时,客户端Web页面的修改是异步的和逐步增加的。这样,AJAX在提交Web页面内容时大大提高了用户界面的速度。在基于AJAX的应用程序中没有必要长时间等待整个页面的刷新。页面中需
AJAX+JSF组件实现高性能的文件上载(3)
AJAX+JSF组件实现高性能的文件上载(3)[@more@]三、 实现AJAX文件上传组件 实质上,上载组件或者生成一个完整的自已,或者在一个AJAX请求的情况下,只生成部分XML以更新在页面上进度条的状态。为了防止JavaServer Faces生成完整的组件树(这会带来不必要的负荷),我们还需要实现一个PhaseListener(PagePhaseListener)以取消该faces的请求处理的其它部分-如果遇到一个AJAX请求的话。我在本文中略去了所有的关于标准配置(faces-config.xml和标签库)的讨论,因为它们相当直接且已经在以前讨论过;而且这一切都包含在随同本文的源码中,你可以详细
AJAX+JSF组件实现高性能的文件上载(4)
AJAX+JSF组件实现高性能的文件上载(4)[@more@]四、处理AJAX请求 AJAX请求的生成是在这个组件的解码方法中处理的。我们需要检查这是否是一个实际的AJAX请求(为了区别于正常的编译行为),然后基于由ProgressMonitorFileItemFactory类的SessionUpdatingProgressObserver实例设置在会话中的值把一个XML响应发送回客户端。public void decode(FacesContext context, UIComponent component) { UIFileUpload input = (UIFileUpload) component; //检查是否这是一个上传进度请求,或是一个实际的上传请求. ExternalContext extContext = cont
AJAX+JSF组件实现高性能的文件上载(2)
AJAX+JSF组件实现高性能的文件上载(2)[@more@]三) ProgressMonitorFileItemFactory类 public class ProgressMonitorFileItemFactory extends DiskFileItemFactory { private File temporaryDirectory; private HttpServletRequest requestRef; private long requestLength; public ProgressMonitorFileItemFactory(HttpServletRequest request) {super();temporaryDirectory = (File)request.getSession().getServletContext().getAttribute("javax.servlet.context.tempdir");requestRef = request;String contentLength =
AJAX+JSF组件实现高性能的文件上载(1)
AJAX+JSF组件实现高性能的文件上载(1)[@more@]在本文中,我们将实现一个具有AJAX能力的组件——它不仅实现把文件上传到服务器,而且"实时地"监视文件上传的实际过程。 一、 引言 基于浏览器的文件上传,特别是对于通过<input type="file">标签包含到Web页面来实现上传的情况,还存在较严重的性能问题。我们知道,超过10MB的上传文件经常导致一种非常痛苦的用户体验。一旦用户提交了文件,在浏览器把文件上传到服务器的过程中,界面看上去似乎处于静止状态。由于这一切发生在后台,所以许多没有耐心的用户开始认为服
在Struts应用中使用Ajax(3)
在Struts应用中使用Ajax(3)[@more@]根据AJAX的响应更新web页面 到现在为止,我们学习过了使用JavaScript来完成AJAX调用(前面列出),Struts Action,ActionForm以及JSP(基本没有变化,只是增加了标签)。为了完善我们对Struts-AJAX项目的了解,我们需要了解三个用于根据服务器返回的结果而更新页面的JavaScript方法。• processStateChange(): 该方法在AJAX调用前设定。它在服务器响应到达后由XMLHttpRequest/Microsoft.XMLHTTP 对象调用。 •splitTextIntoSpan(): 根据响应,循环取出数组中的元素组装成NewContent。 •rep
在Struts应用中使用Ajax(1)
在Struts应用中使用Ajax(1)[@more@]未使用AJAX之前目前大多数的Struts应用都是标准的“如同一个平面文档的web页面”的结构。如果你想模仿一些桌面应用程序(比如那些使用Java Swing,Visual Basic,或者Delphi建立的应用程序),那么你有两个选择:你可以发送所有的可能作为页面的一部分被请求的信息,使用大量的JavaScript来操作其动态的显示(一个很慢并且非企业级Java的方法);或者你可以不改变形式地提交到后台服务器(一种有效的方法) 。AJAX提高给你了融合前面的最佳解决方案:动态的页面,但是大多数的应用是在你的web服务器的Java程序来
在Struts应用中使用Ajax(2)
在Struts应用中使用Ajax(2)[@more@]我们的第一个Struts AJAX应用 观察下下面的图3和图4。第一眼看上去,它们和前面的例子没有说明区别。它们的不同之处在于,页面载入后(图3)然后文本框中的值改变了,窗体自动提交而不显示空白的,然后在图4中显示结果。普通的提交按钮仍然在,你也可以选择使用它。498)this.style.width=498;" border="0" />图 3. 页面载入后的AJAX例子498)this.style.width=498;" border="0" />图 4. AJAX调用后的AJAX例子添加AJAX是出奇的容易。服务器端的代码和前面的例子是一样的: 一个Struts的ActionForm来后去
使用AJAX的Struts验证框架(2)
使用AJAX的Struts验证框架(2)[@more@]ErrorMessageHandler 该类处理XML消息生成器的功能。此Java类将构建基于identity和description属性的XML消息。调用方调用了buildXMLMessage之后,它将准备文档并设置XML消息的根元素。此类还具有一个addNextXMLMessage函数,以将更多验证消息添加到XML(参见清单1)。清单1...public void buildXMLMessage() throws ParserConfigurationException {// initiate document builder to prepare the media of XML Messagethis.rootElement = new Element(CONSTANT_MESSAGE);addNextXMLMessage();}...publi
使用AJAX的Struts验证框架(3)
使用AJAX的Struts验证框架(3)[@more@]构建动作和动作表单 为获得Struts动作,我们转到已经构建的JSP。此动作代码如下所示:public ActionForward execute(...) { return mapping.findForward("success"); }如果输入为空,则此动作表单代码将验证requiredText属性。请记住,要从AjaxForm类扩展此表单。动作表单的验证方法如下所示:public ActionErrors validate(...) { ActionErrors errors = new ActionErrors(); if (StringUtils.isEmpty(this.requiredText)) { errors.add("requiredText", new
使用AJAX的Struts验证框架(1)
使用AJAX的Struts验证框架(1)[@more@]实时数据验证是AJAX技术的一大优势之一。通过应用此技术,struts验证框架将增强struts MVC,并使Web应用程序更接近于桌面应用程序。 此验证框架用于验证字段。有许多在Web应用程序上进行验证的方法。这些方法可分为两类:服务器端方法和客户端方法。Struts验证框架是面向基于Java的Web应用环境的最佳框架之一。它能够配置应用程序,方法是使用服务器端验证和错误消息,此错误消息在处理请求时呈现在调用的验证流程上,它还能够进行客户端验证,方法是使用请求页面上呈现的JavaScript。AJAX是一种JavaS
CIO实施ERP也要考虑潜规则(3)
CIO实施ERP也要考虑潜规则(3)[@more@]直面潜规则 王立功 海格物流有限公司信息总监开发商的ERP系统要能够在不破坏系统核心模型的基础上另辟蹊径,有所不为,以求治表;企业必须在战略高度让产品信心、企业信心能够直面潜规则,以求治本。对于信息系统而言,潜规则是一个微妙的话题。它涉及企业营销技巧、管理秘诀等敏感问题。就像合格的财务主管有责任规范老板的财政行为一样,一个成功的ERP系统必须是在国家法律、行业管理制度的框架下解决问题的。理论上说,带有管理漏洞、流程裂缝或安全隐患的ERP系统是不能被验收上线的。所以有经验的架
CIO实施ERP也要考虑潜规则(2)
CIO实施ERP也要考虑潜规则(2)[@more@]灵活应对潜规则 崔言民 青岛金王集团副总裁一方面,将企业中所有的业务流程都整理出来,实现程序化和书面化;另一方面,分析外部潜规则,短期内可以规范化的,纳入ERP系统管理。案例中的“潜规则”是一种看不见、摸不着,行之有效、但摆不上桌面的行为方式。西方管理理念中,企业潜规则属于组织行为学的范畴。管理大师赖特指出,规则是在组织中,一种被两个人或者两个以上的人共同认同的态度、观念、感受、行为,来指引他们的日常工作,规则可以是正式的,也可以是非正式的。相对于公司愿景使命、发展策
CIO实施ERP也要考虑潜规则(1)
CIO实施ERP也要考虑潜规则(1)[@more@]J公司是一家经营建筑工程的私营公司,公司成立初期只有几个人,承接项目之后,就找一些包工队来干活。经过几年的经营,J公司逐渐成长壮大,员工由最初的几个人发展到几十个人。 企业发展了,总经理魏明(化名)的烦恼也越来越多。以前所有的事情都能一手掌握,现在却觉得“鞭长莫及”,很多事情自己也看不透、听不到了。魏明越来越觉得不踏实,特别是怕中层领导瞒报信息,而自己却全然不知。90年代中期,魏明到香港一家公司考察,发现香港同行借助电脑、网络等信息化手段管理企业,效果非常好。回来之后