在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx

上传人:b****3 文档编号:10463179 上传时间:2023-05-25 格式:DOCX 页数:23 大小:258.54KB
下载 相关 举报
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第1页
第1页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第2页
第2页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第3页
第3页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第4页
第4页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第5页
第5页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第6页
第6页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第7页
第7页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第8页
第8页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第9页
第9页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第10页
第10页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第11页
第11页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第12页
第12页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第13页
第13页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第14页
第14页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第15页
第15页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第16页
第16页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第17页
第17页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第18页
第18页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第19页
第19页 / 共23页
在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx

《在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx》由会员分享,可在线阅读,更多相关《在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx(23页珍藏版)》请在冰点文库上搜索。

在Eclipse中开发基于DWR的AJAX的Web应用Struts5.docx

在Eclipse中开发基于DWR的AJAX的Web应用Struts5

实现实时补全

1、提供用户信息补全的业务层组件

(1)接口InfoCompleteInterface,包名称为com.px1987.dwrexampl.model

设计该接口

packagecom.px1987.dwrexampl.model;

importjava.util.List;

publicinterfaceInfoCompleteInterface

{

publicListgetUserNameInfo(StringuserNamePart);

}

(2)实现类InfoCompleteImpl,包名称为com.px1987.dwrexampl.model

将产生出下面的状态

(3)编程该实现类

packagecom.px1987.dwrexampl.model;

importjava.util.*;

importcom.px1987.dwrexampl.dao.*;

publicclassInfoCompleteImplimplementsInfoCompleteInterface

{

publicInfoCompleteImpl()

{

//TODO自动生成构造函数存根

}

publicListgetUserNameInfo(StringuserNamePart)

{

StringselectSQL="selectuserNamefromUserInfowhereuserNamelike'%"+userNamePart+"%'";

OperateDBInterfaceoperateDBBeanID=newOperateDBBean();

java.sql.ResultSetresultSet=operateDBBeanID.SelectDBData(selectSQL);

ListallUserNameInfo=newArrayList();

try

{

while(resultSet.next())

{

allUserNameInfo.add(resultSet.getString("userName"));

}

}

catch(java.sql.SQLExceptione)

{

e.printStackTrace();

System.out.println("异常内容为:

"+e.getMessage());

}

finally

{

operateDBBeanID.closeDBCon();

}

returnallUserNameInfo;

}

}

2、将该业务组件类发布为远程组件-------在dwr-timeBean.xml中添加下面的信息

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting1.0//EN""http:

//www.getahead.ltd.uk/dwr/dwr10.dtd">

[CDATA[

importjava.util.List;

importjava.lang.String;

importcom.px1987.dwrexampl.model.UserInfoManageBean;

importcom.px1987.dwrexampl.model.UserInfoVO;

ListUserInfoManageBean.findSomeUserInfo(StringuserDepartment);

ListgetUserNameInfo(StringuserName);

]]>

3、在线查看该远程组件

(1)启动服务器并输入http:

//localhost:

8080/DWRWebTest/dwr/index.html

(2)点击上面的infoCompleteBean链接,将出现下面的内容

所要包含的*.js文件为

(3)对getUserNameInfo方法进行在线测试

注意:

保证数据库服务正确启动,并且按照UserInfo数据库表中的实际数据来输入!

4、添加一个infoComplete.jsp页面

(1)在userManager目录中新建infoComplete.jsp页面

(2)设计其内容

<%@pagelanguage="java"pageEncoding="gb2312"%>

<%@tagliburi="http:

//struts.apache.org/tags-bean"prefix="bean"%>

<%@tagliburi="http:

//struts.apache.org/tags-html"prefix="html"%>

<%@tagliburi="http:

//struts.apache.org/tags-logic"prefix="logic"%>

<%@tagliburi="http:

//struts.apache.org/tags-tiles"prefix="tiles"%>

<%

StringwebContext=request.getContextPath();

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

htmllang="true">

base/>

infoComplete.jsp

--

-->

formaction="/infoComplete.do"method="post">

输入用户名称:

textproperty="userName"onkeyup="showUserNameInfo(this.value)"/>

 

none"bordercolorlight="#4DA6FF"bordercolordark="#ECF5FF"bgcolor="#F0F8FF">

selectproperty="allUserNameInfo"onchange="userName.value=options[selectedIndex].value;">

select>

form>

html>

5、在webapp.js中添加showUserNameInfo函数

functionshowUserNameInfo(inputedUserName)

{

if(inputedUserName==""||inputedUserName.length==0)

{

$("dataTable").style.display="none";//将表格行隐藏

return;//当没有输入时不发出请求

}

infoCompleteBean.getUserNameInfo(inputedUserName,showAllUserNameCallBackFun);

}

functionshowAllUserNameCallBackFun(returnSomeUserNameInfoList)//代表返回值的数组

{

if(returnSomeUserNameInfoList.length==0)//有匹配的数据吗---表示没有匹配的数据

{

$("dataTable").style.display="none";//将表格行隐藏

return;

}

varuserNameString="";

$("dataTable").style.display="";

DWRUtil.removeAllOptions("allUserNameInfo");

DWRUtil.addOptions('allUserNameInfo',returnSomeUserNameInfoList);

}

6、添加ActionForm

com.px1987.dwrexampl.actionform.InfoCompleteActionForm、infoCompleteActionForm

privateStringuserName;

privateStringallUserNameInfo;

 

/*

*GeneratedbyMyEclipseStruts

*Templatepath:

templates/java/JavaClass.vtl

*/

packagecom.px1987.dwrexampl.actionform;

importjavax.servlet.http.HttpServletRequest;

importorg.apache.struts.action.ActionErrors;

importorg.apache.struts.action.ActionForm;

importorg.apache.struts.action.ActionMapping;

/**

*MyEclipseStruts

*Creationdate:

09-28-2007

*

*XDocletdefinition:

*@struts.formname="infoCompleteActionForm"

*/

publicclassInfoCompleteActionFormextendsActionForm{

/*

*Generatedfields

*/

/**userNameproperty*/

privateStringuserName;

privateStringallUserNameInfo;

/*

*GeneratedMethods

*/

/**

*Methodvalidate

*@parammapping

*@paramrequest

*@returnActionErrors

*/

publicActionErrorsvalidate(ActionMappingmapping,

HttpServletRequestrequest){

//TODOAuto-generatedmethodstub

returnnull;

}

/**

*Methodreset

*@parammapping

*@paramrequest

*/

publicvoidreset(ActionMappingmapping,HttpServletRequestrequest){

//TODOAuto-generatedmethodstub

}

/**

*ReturnstheuserName.

*@returnString

*/

publicStringgetUserName(){

returnuserName;

}

/**

*SettheuserName.

*@paramuserNameTheuserNametoset

*/

publicvoidsetUserName(StringuserName){

this.userName=userName;

}

publicStringgetAllUserNameInfo(){

returnallUserNameInfo;

}

publicvoidsetAllUserNameInfo(StringallUserNameInfo){

this.allUserNameInfo=allUserNameInfo;

}

}

7、添加Action

com.px1987.dwrexampl.action.InfoCompleteAction、/infoComplete

编程Action类

packagecom.px1987.dwrexampl.action;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts.action.Action;

importorg.apache.struts.action.ActionForm;

importorg.apache.struts.action.ActionForward;

importorg.apache.struts.action.ActionMapping;

importcom.px1987.dwrexampl.actionform.InfoCompleteActionForm;

publicclassInfoCompleteActionextendsAction

{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,

HttpServletRequestrequest,HttpServletResponseresponse){

InfoCompleteActionForminfoCompleteActionForm=(InfoCompleteActionForm)form;//TODOAuto-generatedmethodstub

returnmapping.findForward("showInfo");

}

}

8、添加返回的页面showInfo.jsp

<%@pagelanguage="java"pageEncoding="gb2312"%>

<%@tagliburi="http:

//struts.apache.org/tags-bean"prefix="bean"%>

<%@tagliburi="http:

//struts.apache.org/tags-html"prefix="html"%>

<%@tagliburi="http:

//struts.apache.org/tags-logic"prefix="logic"%>

<%@tagliburi="http:

//struts.apache.org/tags-tiles"prefix="tiles"%>

 

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

htmllang="true">

base/>

showInfo.jsp

--

-->

您所查询的结果如下:

html>

9、添加ForWard

输入showInfo

10、再部署并执行本应用(http:

//localhost:

8080/DWRWebTest/userManager/infoComplete.jsp)

并且在控制台中能够看到下面的执行结果-----多次向后台的业务方法进行请求调用。

选择其中的某个名称项目,将自动实现输入

对于中文,也同样能够自动补全

将实时补全与用户注册关联

1、修改userRegister.jsp页面中的内容

<%@pagelanguage="java"pageEncoding="GB18030"%>

<%@tagliburi="http:

//struts.apache.org/tags-bean"prefix="bean"%>

<%@tagliburi="http:

//struts.apache.org/tags-html"prefix="html"%>

<%@tagliburi="http:

//strut

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2