1 我们先来看下jsp上调用这个ajax的代码
<input type="text" name="merchantNo" id="merchantNo2" size="30"onblur="validateMerchantNo2();" />
<font color="red">*</font>
<span id="merchantError2" style="float: bottom; margin-top: 1000px;"> 精确查询</span>
可以看到鼠标事件onblur(鼠标离开时候触发)触发的是一个js方法validateMerchantNo2();可想而知这个就是ajax方法了。留意span id="merchantError2"这个,这个就是后面ajax处理后根据处理结果动态显示的结果信息。
2 现在看下这个ajax方法 validateMerchantNo2
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function validateMerchantNo2()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
var merchantNo = document.getElementById("merchantNo2").value;
var merchantSelect = document.getElementById("merchantSelect").value;
var url = "credit_validuateMerchantNo2.action?time=" + new Date().getTime()
+ "&merchantNo=" + merchantNo + "&merchantNoFlag=" + merchantSelect;
xmlHttp.open("post", url, true);
xmlHttp.setRequestHeader("content-type",
"application/x-www-form-urlencoded;charset=utf-8");
xmlHttp.send(null);
}
function handleStateChange()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
var doc = xmlHttp.responseText;
var menuNameError = document.getElementById("merchantError2");
menuNameError.innerHTML = doc;
}
}
}
</script>
这是一个比较经典的写法,留意主体方法里多了 xmlHttp.setRequestHeader("content-type",
"application/x-www-form-urlencoded;charset=utf-8");这个,这个就是用于把处理结果通过html字符串返回到jsp页面显示出来的页面申明。最终这个处理结果会在:
var menuNameError = document.getElementById("merchantError2");
menuNameError.innerHTML = doc;
这个id为merchantError2的地方显示出来。
3 我们看下相应的java处理方法
public final String validuateMerchantNo2() throws Exception
{
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
PrintWriter out = ServletActionContext.getResponse().getWriter();
StringBuffer validateMsg = null;
if ("".equals(merchantNo))
{
validateMsg = new StringBuffer("<font color='red'> 商户编号不能为空!</font>");
} else
{
List<CreditSummonsInfo> creditTest = creditService.queryCreditByNo(merchantNo, merchantNoFlag);
if (creditTest != null && creditTest.size() > 0)
{
validateMsg = new StringBuffer("<font color='green'> ok!</font>");
} else
{
validateMsg = new StringBuffer("<font color='red'> 该商户编号暂无数据!</font>");
}
}
out.print(validateMsg.toString());
return null;
}
这里的List<CreditSummonsInfo> creditTest = creditService.queryCreditByNo(merchantNo, merchantNoFlag);还是通过spring注入的,处理数据库的功能代码
最后输出 out.print(validateMsg.toString());
return null;
就完成了这个过程。
分享到:
相关推荐
本文将探讨AJAX在JSP、Struts、Servlet、WebWork等不同框架中的应用方式,并通过一个示例来具体展示其实现过程。 #### 二、基础知识概述 1. **JSP(JavaServer Pages)**:是一种基于Java的服务器端技术,用于生成...
本文介绍了一个简单的JSP/Ajax示例,通过该示例展示了如何在JSP页面中集成Ajax功能来实现异步数据交换,以及如何在服务器端处理这些请求。此技术不仅能够提升用户体验,还能够在不重载整个页面的情况下实现数据的...
在这个"超简单的ajax+jsp实现2级联动"的例子中,我们将探讨如何利用AJAX(Asynchronous JavaScript and XML)技术和JavaServer Pages (JSP)来实现这种功能。 首先,我们需要了解AJAX的基本原理。AJAX允许网页在不...
在Web开发中,JSP(JavaServer Pages)与jQuery结合使用可以创建动态、交互式的网页。其中,jQuery的Ajax功能可以实现异步数据交换,无需刷新整个页面即可更新部分页面内容。本文将详细介绍如何使用jQuery的Ajax方法...
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm, *.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP编写的页面(JSP Page)与普通的HTML页面不同之处在于:它可以在发送...
总的来说,`JSP+Ajax`的结合使用为开发人员提供了强大的工具,可以创建更加动态和用户友好的Web应用。在设计这类功能时,确保考虑到可访问性、性能优化以及错误处理等因素,以确保所有用户都能顺利地使用这些功能。
在IT领域,JSP(JavaServer Pages)、Servlet和Ajax是Web开发中的关键技术。本篇将详细解释这些知识点,以帮助你在面试或学习过程中更好地理解。 1. **静态网页与动态网页**: - 静态网页是由HTML、CSS和...
### 使用jQuery、Ajax、JSP与Servlet实现二级级联菜单 #### 一、项目背景与技术栈概述 本文档将详细介绍如何使用jQuery、Ajax、JSP与Servlet来实现一个简单的二级级联菜单功能。该功能常见于许多Web应用程序中,如...
- **页面关键词提示**:在用户输入搜索关键词的过程中,实时显示可能匹配的结果。 #### 四、总结 通过以上案例的讲解,我们可以看到Ajax技术的强大之处在于它能够在不刷新整个页面的情况下动态更新部分内容。这不仅...
在网页开发中,Ajax 自动刷新常用于实时显示动态数据,如股票报价、聊天室消息或者天气预报等。 ### 1. Ajax 基本原理 Ajax 工作流程主要包括以下几个步骤: 1. **创建 XMLHttpRequest 对象**:这是 Ajax 的基础,...
当检测到`sessionstatus`为"timeout"时,显示提示信息并重定向用户到登录页面: ```javascript Ext.Ajax.on('requestcomplete', checkSessionStatus, this); function checkSessionStatus(conn, response, options...
在JSP页面中,我们可以使用Java来处理请求,查询数据库或任何数据源,然后将结果转换为JSON格式。例如: ```jsp ;charset=UTF-8" language="java" %> String keyword = request.getParameter("keyword"); List...
### Ajax 刷新 JSP 页面的值 在 Web 开发中,使用 AJAX(Asynchronous JavaScript and XML)技术可以实现在不重新加载整个页面的情况下更新部分页面内容。这种方式极大地提升了用户体验,并且广泛应用于各种交互式...
在IT行业中,Ajax(Asynchronous JavaScript and XML)技术是一种用于创建动态、交互性强的Web应用程序的方法。它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容,从而提高了用户体验。本...
2. **JSP (JavaServer Pages)**:是一种基于Java技术的服务器端开发技术,用于生成动态Web页面。 3. **Servlet**:是Java EE/Java Web中的一个重要组件,用于处理客户端的HTTP请求并生成响应。 4. **JavaBean**:是...
在网页应用中,JSON常用于前后端数据交互,尤其是在Java JSP(JavaServer Pages)和Servlet环境中。JSP是用于创建动态网页的技术,而Servlet则是Java中的一个服务器端程序,常用来处理HTTP请求。 **JSON的基本结构...
综上所述,Java Select与两级级联下拉菜单的实现涉及到了Java后端处理、Ajax前端交互以及JSP页面集成等多个方面的知识,是Web开发中常见的需求场景。通过理解上述知识点,开发者可以更好地掌握如何在实际项目中实现...
在这个JSP页面中,我们使用了jQuery的`$.post`方法来发送Ajax请求。请求的目标是`checkUser`,对应我们之前定义的Action方法。在`success`回调函数中,我们根据接收到的服务器返回的状态码(data)显示相应的提示...
EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了丰富的 UI 组件,包括布局、表格、表单、按钮、对话框、菜单等,极大地简化了网页开发过程。在本资料包 "EasyUI 的功能树之异步树 JAVA 版本.zip" 中,主要讨论...