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

上传人:b****7 文档编号:11207261 上传时间:2023-02-25 格式:DOCX 页数:37 大小:602.36KB
下载 相关 举报
在Eclipse中开发基于DWR的AJAX的Web应用Struts2.docx_第1页
第1页 / 共37页
在Eclipse中开发基于DWR的AJAX的Web应用Struts2.docx_第2页
第2页 / 共37页
在Eclipse中开发基于DWR的AJAX的Web应用Struts2.docx_第3页
第3页 / 共37页
在Eclipse中开发基于DWR的AJAX的Web应用Struts2.docx_第4页
第4页 / 共37页
在Eclipse中开发基于DWR的AJAX的Web应用Struts2.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

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

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

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

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

利用DWR实现“实时校验”------验证用户注册时的用户名称是否重名的应用

1、验证用户注册时的用户名称是否重名的应用

(1)常规的实现方法

在某个用户注册的应用中,当用户注册时检查用户名是否可用,以前的做法是在旁边加一个按钮,点击“检查”,就向服务器发出请求,然后等待……服务器返回信息,继续操作。

(2)利用Ajax技术来实现以上的操作则不必等待服务器返回信息

用户输入用户名或企业名称的时候,当输入文本框失去焦点(用户的名称输入完毕)的时候,则会自动向服务器发出请求,用户继续做下面的操作,不必点击“检查”,也不必等待服务器返回信息,检查与用户操作是异步的,可同时进行。

当服务器信息返回的时候,会自动在面页相应位置显示返回信息,不必刷新页面,相当于局部刷新的效果。

(3)本例的时序图

2、在Web应用中添加一个包含有注册表单的JSP页面

(1)页面名称为userRegister.jsp

(2)编辑该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:

//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/>

userRegister.jsp

--

-->

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

hiddenproperty="action"value="2"/>

用户名称:

textproperty="userName"onblur="checkUserNameValid(this.value)"style="background:

#FFFFFF"/>

#FF9900;display:

none">


用户密码:

passwordproperty="userPassWord"/>

submitproperty="submitButton"value="提交"disabled="true"/>

form>

html>

3、在webapp.js中添加下面的方法

functioncheckUserNameValid(inputedUserName)

{

userInfoManageBean.checkUserNameValid(inputedUserName,checkUserNameValidCallBackFun);

}

checkUserNameValidCallBackFun=function(returnCheckUserNameBoolean)

{

if(!

returnCheckUserNameBoolean)

{

document.getElementById("userName").style.background="#FFFFFF";

  $("showStr").style.display="none";//$=document.getElementById

$("submitButton").disabled=false;

}

else

{

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

  $("userName").style.background="#FF0000";

    $("showStr").innerText="您所输入的用户名称已经存在了!

";

$("submitButton").disabled=true;

}

}

5、添加ActionForm组件

com.px1987.dwrexampl.actionform.RegisterActionForm,registerActionForm,org.apache.struts.action.ActionForm

userPassWord和userName

privateStringuserName;

privateStringuserPassWord;

Stringaction=null;

/*

*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-21-2007

*

*XDocletdefinition:

*@struts.formname="registerActionForm"

*/

publicclassRegisterActionFormextendsActionForm{

/*

*Generatedfields

*/

/**userNameproperty*/

privateStringuserName;

/**userPassWordproperty*/

privateStringuserPassWord;

Stringaction=null;

/*

*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;

}

/**

*ReturnstheuserPassWord.

*@returnString

*/

publicStringgetUserPassWord(){

returnuserPassWord;

}

/**

*SettheuserPassWord.

*@paramuserPassWordTheuserPassWordtoset

*/

publicvoidsetUserPassWord(StringuserPassWord){

this.userPassWord=userPassWord;

}

publicStringgetAction(){

returnaction;

}

publicvoidsetAction(Stringaction){

this.action=action;

}

}

5、添加一个Action以对该表单进行响应和处理

(1)类名称为RegisterAction,Type名称为com.px1987.dwrexampl.action.RegisterAction

(2)/register

将产生出该Action

(3)编程该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.RegisterActionForm;

importjava.io.*;

publicclassRegisterActionextendsAction

{

publicActionForwardexecute(ActionMappingmapping,ActionFormform,

HttpServletRequestrequest,HttpServletResponseresponse)

{

RegisterActionFormregisterActionForm=(RegisterActionForm)form;//TODOAuto-generatedmethodstub

returnmapping.findForward("registerSuccess");

}

}

7、添加registerSuccess.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:

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

<%@tagliburi="http:

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

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

htmllang="true">

base/>

registerSuccess.jsp

--

-->

您的同步的注册请求被正确地处理了!

html>

8、registerSuccess

5、添加一个实现对用户名称等信息进行检查的业务接口

(1)业务组件接口为UserInfoManageInterface,包名称为com.px1987.dwrexampl.model

在该接口中定义下面的方法

packagecom.px1987.dwrexampl.model;

publicinterfaceUserInfoManageInterface

{

publicbooleancheckUserNameValid(StringuserName);

}

6、添加一个实现对用户名称等信息进行检查的业务接口的实现类组件

(1)实现类UserInfoManageBean,包名称为com.px1987.dwrexampl.model

(2)编程该实现类

packagecom.px1987.dwrexampl.model;

publicclassUserInfoManageBeanimplementsUserInfoManageInterface

{

publicUserInfoManageBean()

{

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

}

publicbooleancheckUserNameValid(StringuserName)

{

booleanokOrNot=false;

if(userName.equals("yang"))//实际应该改变为对数据库系统的访问

{

okOrNot=true;

}

else

{

okOrNot=false;

}

returnokOrNot;

}

}

7、公开该业务类中的各个方法

(1)在dwr-timeBean.xml文件中添加下面的内容

(2)文件的完整内容为下面

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

>

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

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

8、查看我们的业务类所对应的*.js文件

(1)再部署该应用

(2)输入http:

//localhost:

8080/DWRWebTest/dwr/index.html进入DWR的在线测试页面

然后点击上面的“userInfoManageBean”的超链接,将出现下面的内容

从而获得在页面中对该JavaBean进行远程引用时的*.js文件名称

(3)也可以对我们的业务组件中的方法在线测试

或者

9、在我们的userRegister.jsp中包含上面的各个*.js文件

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

<%@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/>

userRegister.jsp

--

-->

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

hiddenproperty=

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1