`

无刷新提示框-dwr版

    博客分类:
  • DWR
阅读更多
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title> ajax无刷新提示 </title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<style type="text/css" >
		body{font:11px arial;}
		.suggest_link{
			background-color:#ffffff;
			padding:2px 6px 2px 6px;
			text-decoration:none;
		}
		.suggest_link_over{
			background-color:#e8f2fe;
			padding:2px 6px 2px 6px;
			text-decoration:none;
		}
		#suggest{
			position:absulute;
			background-color:#ffffff;
			text-align:left;
			border:1px solid #000000;
			display:none;
		}
	a{text-decoration:none;color:black;}
	</style>
	<script type="text/javascript" src="dwr/interface/cd.js"></script>
	<script type="text/javascript" src="dwr/engine.js"></script>
	<script type="text/javascript" src="dwr/util.js"></script>
	
	<script type="text/javascript">
	
	
	function getList()
	{
		var str=document.getElementById("txtsearch").value;
		cd.search(str,lists);
	}
	//回调函数
	function lists(data)
	{
		var suggest=""; 
		if(data.length!=0)
		{
			if(data[0]!="wu")
			{
				for(var i=0;i<data.length;i++)
				{
					var sobj=document.getElementById("suggest");
						sobj.innerHTML="";
					suggest+="<div onmouseover='javascript:suggestOver(this);'"
								suggest+=" id='div"+(i+1)+"'";
								suggest+=" onmouseout='javascript:suggestOut(this);'"
								suggest+=" style='cursor:hand;' onclick='pw(this.innerHTML);'";
								suggest+=" class='suggest_link'>"+data[i]+"</div>";
				}
				sobj.innerHTML=suggest;
				document.getElementById("suggest").style.display="block";
			}
			else{
				document.getElementById("suggest").style.display="none";
			}
		}
		
		
	}
	
	
	//添加样式表
	function suggestOver(obj)
	{
		obj.className="suggest_link_over";
	}
	//添加样式表
	function suggestOut(obj)
	{
		obj.className="suggest_link";
	}
	//获取数据
	function pw(obj)
	{
		var strs=obj;
		document.getElementById("txtsearch").value=strs;
		document.getElementById("suggest").style.display="none";
	}
	//搜索文本框失去焦点时候获取焦点
	function searchs()
	{
		document.getElementById("txtsearch").focus();
	}
	//加载的时候让搜索文本框获得焦点
	function load()
	{
		searchs();
	}
	window.onload=load;
	</script>
  </head>
  
  <body>
    <h3>Ajax实现搜索提示</h3>
    <div style="width:500px">
    	<form method="post" action="" id="formsearch">
    		<input type="text" onblur="searchs()" id="txtsearch" name="txtSearch" onkeyup="getList()" autocomplete="off" />
    		<input type="submit" id="cmdSearch" name="cmdSearch" value="搜索" />
    		<div id="suggest" style="width:200px;"></div>
    	</form>
    </div>
  </body>
</html>
 
use master
go
create database test
go
use test
go
create table ta
(
	temp varchar(50) not null
)
go
insert into ta values('java')
insert into ta values('java ee')
insert into ta values('java se')
insert into ta values('java me')
insert into ta values('i')
insert into ta values('h')
insert into ta values('g')
insert into ta values('f')
insert into ta values('e')
insert into ta values('d')
insert into ta values('c')
insert into ta values('b')
insert into ta values('a')
insert into ta values('o')
insert into ta values('n')
insert into ta values('m')
insert into ta values('l')
insert into ta values('k')
insert into ta values('p')
insert into ta values('q')
insert into ta values('r')
insert into ta values('s')
insert into ta values('t')
insert into ta values('x')
insert into ta values('w')
insert into ta values('v')
insert into ta values('u')
insert into ta values('y')
insert into ta values('z')
go
select distinct(temp) from ta where temp like '[Object]%' order by temp
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">

<dwr>

	<allow>
		<create creator="new" javascript="cd">
			<param name="class" value="dao.search"></param>
			<include method="search" />
		</create>
	</allow>
	<signatures>
		<![CDATA[
			import java.util.List;
			import java.dao.search;
		]]>
	</signatures>
</dwr>
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	version="2.5">
	<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
		<init-param>
			<param-name>debug</param-name>
			<param-value>true</param-value>
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>dwr-invoker</servlet-name>
		<url-pattern>/dwr/*</url-pattern>
	</servlet-mapping>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>
 
package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

public class search {

	public static final String DATA_USERNAME = "";
	public static final String DATA_PASSWORD = "";

	public List<String> search(String str) {
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
		List<String> strList = new ArrayList<String>();
		try {
			if (str != null & str.length() > 0) {
				Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
				String url = "jdbc:sqlserver://localhost:1433;databaseName=test";
				conn = DriverManager.getConnection(url, DATA_USERNAME, DATA_PASSWORD);
				st = conn.createStatement();
				String sql = "select distinct(temp) from ta where temp like '" + str + "%' order by temp";
				rs = st.executeQuery(sql);
				while (rs.next()) {
					strList.add(rs.getString("temp"));
				}

			} else {
				strList.add("wu");
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				if (rs != null) {
					rs.close();
				}
				if (st != null) {
					st.close();
				}
				if (conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

		}
		return strList;
	}
}

commons-logging-1.1.1.jar
dwr.jar
sqlserver2008.jar

分享到:
评论

相关推荐

    dwr实现的无刷新技术 dwr+jsp

    DWR (Direct Web Remoting) 是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、异步的数据交换,从而实现页面无刷新的技术。DWR使得开发者能够轻松地在浏览器端调用服务器端的Java方法,就像...

    dwr实现局部刷新

    4. **AutoComplete**:DWR提供了自动完成功能,用于在客户端输入框中动态提示可能的匹配项,例如在搜索框中输入内容时显示建议列表。 5. **Echo**:DWR的Echo功能允许在后台执行长时间的任务,同时保持与客户端的...

    纯JSP+DWR实现三级联动下拉选择菜单 实现无刷新联动 DWR判断用户是否存在 ajax二级联动菜单 DWR操作数据库模拟实现Google搜索效果

    本示例主要展示了如何使用纯JSP和Direct Web Remoting (DWR)技术来构建一个功能丰富的用户界面,其中包括三级联动下拉选择菜单、无刷新联动、用户存在性判断以及模拟Google搜索效果的功能。DWR是一种JavaScript库,...

    搜索提示框的自动显示dwr实现实例

    在这个“搜索提示框的自动显示DWR实现实例”中,我们将探讨如何利用DWR技术创建一个智能、高效的搜索输入框,当用户输入时,自动显示相关建议,提升用户体验。 首先,我们需要理解DWR的基本工作原理。DWR通过在后台...

    SSH+DWR 用户登录注册(无刷新验证)

    在这个项目中,SSH+DWR被用来实现用户登录注册功能,并且重点在于无刷新验证,这是一种提升用户体验的重要技术。 **SSH框架详解:** 1. **Struts2**:是MVC(Model-View-Controller)设计模式的一个开源实现,负责...

    AJAX技术之DWR框架入门

    4. **AutoComplete**:DWR提供了自动完成功能,用于在输入框中实现下拉提示,提高用户输入效率。 5. **安全机制**:DWR有内置的安全机制,防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF),确保数据安全。 **DWR的...

    javascript实现右下角提示框,支持最小化,最大化,关闭,消息多条翻页

    在JavaScript编程中,创建一个可自定义的右下角提示框是常见的需求,尤其是在Web应用中,用于显示通知、警告或重要信息。本项目通过JavaScript实现了这样一个功能丰富的提示框,支持最小化、最大化、关闭以及消息多...

    JAVA AJAX框架 DWR

    DWR简化了Ajax应用的开发,提高了用户体验,因为它允许页面部分更新,而不是整个页面的刷新。 **DWR的基本原理** DWR的核心思想是创建一个JavaScript与服务器端Java对象之间的桥梁。在客户端,JavaScript可以调用...

    dwr框架Jar

    - **dwr-src.jar**:这个文件包含了DWR框架的源代码,对于开发者来说,可以查看源码理解其内部工作原理,或者进行自定义扩展。 - **dwr-noncla.jar**:此文件可能包含了不包含版权信息的版本,通常用于那些不能或...

    DWR框架对各种类型方法调用的示例

    DWR通过简化AJAX开发,使得前端和后端可以进行实时通信,提高了Web应用的用户体验,因为它无需页面刷新就能更新部分网页内容。 在"DWR框架对各种类型方法调用的示例"中,我们可以看到DWR是如何处理不同类型的参数和...

    DWR2.0中文文档

    - **Ajax**:异步JavaScript和XML,DWR通过Ajax技术实现了页面无需刷新即可更新内容。 - **Caja**:DWR的安全特性,它使用一种叫做Caja的沙箱机制来防止跨站脚本攻击(XSS)。 2. **DWR 2.0的新特性** - **...

    DWR--学习参考文档

    这份"DWR--学习参考文档"显然是一个关于DWR技术的综合学习资源,包含了丰富的信息,帮助开发者深入理解和应用DWR。 DWR的核心概念主要有以下几个: 1. **Remoting**:远程调用是DWR的关键特性,它使得JavaScript...

    dwr实例教程 很好的入门实例

    - 配置`dwr-invoker` Servlet以启用DWR服务。 ```xml &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt; &lt;display-name&gt;DWRServlet&lt;/display-name&gt; &lt;description&gt;DirectWebRemoterServlet &lt;servlet-class&gt;uk.ltd....

    dwr官方资料

    2. `dwr-2.0.M2-src.zip`:这是一个源码包,包含了DWR 2.0.M2版本的源代码。对于开发者来说,查看源代码可以帮助理解DWR的工作原理,调试问题,甚至对框架进行自定义修改。 3. `dwr.zip`:这可能是DWR的完整包,...

    DWR框架的应用示例

    DWR(Direct Web Remoting)框架是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需刷新整个页面。这个框架极大地提升了用户体验,因为它使得JavaScript可以调用服务器端的...

    搜索自动提示列表的dwr实现实例

    DWR (Direct Web Remoting) 是一种在Java后端与JavaScript前端之间进行实时通信的技术,它允许Web应用程序在不依赖于页面刷新的情况下更新部分页面内容。在这个“搜索自动提示列表的dwr实现实例”中,我们将探讨如何...

    dwr-demo.rar_DEMO_DWR DE_dwr Demo_list set map

    这个DEMO可能展示了如何实现无刷新的更新,提高用户体验。 6. **错误处理**:在客户端和服务器端,错误处理也是关键。DEMO可能会演示如何捕获和处理可能出现的异常,提供友好的错误提示。 通过这个"DWR Demo",...

    spring与dwr的整合

    DWR通过AJAX技术实现在网页上动态更新数据,用户无需刷新页面即可获取服务器的最新信息。DWR提供了自动类型转换,使得Java对象和JavaScript对象之间的转换变得更加简单。 **Spring与DWR整合步骤** 1. **引入依赖**...

Global site tag (gtag.js) - Google Analytics