最近正在学习extjs 和 dwr ,自己做了一个extjs结合dwr的登入功能,拿出来跟大家分享一下。本人第一次发帖,请各位大侠多多指教。
1.开发工具Myeclipse6.0+ExtJs2.0+dwr(忘了是那个版本,好像还是1.x的)
2.新建一个web project ,将dwr.jar包放到WEB-INF下的lib下配置dwr.xml 和 web.xml
dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create javascript="LoginService" creator="new">
<param name="class" value="com.c35.service.LoginService"></param>
</create>
</allow>
<signatures>
<![CDATA[
]]>
</signatures>
</dwr>
web.xml
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.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>/login/login.jsp</welcome-file>
</welcome-file-list>
由于时间有限只贴关键代码:
login.jsp
<link rel = "stylesheet" type = "text/css" href="/ExtJsDemo/scripts/ext/resources/css/ext-all.css">
<script type="text/javascript" src="/ExtJsDemo/scripts/ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="/ExtJsDemo/scripts/ext/ext-all.js"></script>
<script type="text/javascript" src="/ExtJsDemo/scripts/js/login.js"></script>
<script type="text/javascript" src="/ExtJsDemo/dwr/engine.js"></script>
<script type="text/javascript" src="/ExtJsDemo/dwr/util.js"></script>
<script type="text/javascript" src="/ExtJsDemo/dwr/interface/LoginService.js"></script>
<body style='background:#dfe8f6;'>
<div id="show" style="position:absolute;top:5%;left:18%;padding:150px;text-align:'left';"></div>
</body>
login.js
Ext.onReady(function() {
Ext.QuickTips.init();//开启表单提示,支持tips提示
Ext.form.Field.prototype.msgTarget = 'side';//设置提示信息位置为边上,提示的方式,枚举值为"qtip","title","under","side",id(元素id)
var simple = new Ext.FormPanel({//初始化表单面板
renderTo:'show', ////填充到指定区域
labelWidth : 75, // 默认标签宽度
labelAlign: 'right' ,//标签对齐
frame : true,//设置表单面板,false为无面板,圆角和浅蓝色背景
title : '登入表框名称',
bodyStyle : 'padding:10px 10px 0',//表单样式
width : 350,//表单宽度
height: 180,//表单高度
monitorValid:true,//绑定验证
defaults : {
width : 230, //文本宽长度 简化items中相同的属性
xtype:"textfield"
},
//defaultType : 'textfield',//默认字段类型
submit: function(){
// this.getEl().dom.action = '/ExtJsDemo/index.jsp',
// this.getEl().dom.method='post',
// this.getEl().dom.submit();
var type = Ext.getCmp('type').getValue() ;
var name=Ext.getCmp('name').getValue();
var password = Ext.getCmp('pws').getValue() ;
LoginService.isUsrExist(name,password,function(tmp){
if(tmp){
window.location.href = "/ExtJsDemo/index.jsp" ;
}else{
Ext.Msg.alert("信息提示","登入信息有误请重新输入!") ;
}
})
},
items : [{
xtype:"combo",
store: store,
fieldLabel : '用户权限' ,
id:'type',
name:'type' ,
displayField:'id',
valueField : 'name' ,
typeAhead: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择',
anchor:"90%"
},{
fieldLabel : '帐 户',
name : 'username',
id:'name',
anchor:"90%",//350px-labelWidth剩下的宽度的95%,留下5%作为后面提到的验证错误提示
//width : 230,
//xtype:"textfield",
allowBlank : false,//false则不能为空,默认为true
blankText : '帐户不能为空'
}, {
fieldLabel : '密 码',
name : 'pws',
id:'pws',
inputType: 'password',
anchor:"90%",
//width : 230,
allowBlank : false,//禁止为空
blankText : '密码不能为空'//可限制多种类型,具体参照api文档
}],
buttons : [{
text : '登录',
formBind : true,//.如果你想绑定验证,在form表单添加参数monitorValid:true,然后在按钮配置参数中添加formBind:true
handler : function() {
if(simple.form.isValid()){
simple.form.submit();
}
}//提交表单与服务器交互的实例请参照实例分析部分《一个完整的登录实例》
}, {
text : '取消',
handler : function() {
simple.form.reset();
}//重置表单
}]
});
//simple.render('show');//填充到指定区域
});
var store = new Ext.data.SimpleStore({
fields: ['id', 'name'],
data : [['管理员', '1'],
['财务员', '0']
] // from states.js
});
LoginService.java
import javax.servlet.http.HttpSession;
/**
*
* @author yusam(yusam@163.com)
* @version Revision: 1.00 Date: 2008-9-4
*/
public class LoginService {
public boolean isUsrExist(String name,String pwd,HttpSession session){
boolean flag = false ;
if("yusam".equals(name) && "123".equals("123")){
flag = true ;
session.setAttribute("username", name) ;
session.setAttribute("pwd", pwd) ;
}
return flag;
}
}
分享到:
相关推荐
ExtJs+Dwr(Grid)实现分页功能,很实用
总结起来,"DWR+extjs+spring+hibernate"的组合是现代Web应用开发的一个强大工具集,它能够帮助开发者快速构建出交互性强、性能优异的企业级应用。通过深入理解和熟练掌握这四个技术,可以显著提升开发者的技能水平...
在“EXTJS+DWR3.0实现文件上传”这个主题中,我们将探讨如何结合这两者来实现一个高效且用户友好的文件上传功能。在实际的Web应用中,文件上传是一个常见的需求,例如在社交媒体平台上传图片、在文档分享网站上传...
总结来说,这个ExtJS+DWR的Grid实现涉及到了前端与后端的深度集成,利用了ExtJS的丰富UI组件和DWR的实时通信能力。通过Spring和Hibernate,实现了服务层和数据访问层的解耦,使得系统更易于维护和扩展。分页和分组...
EXTJS+S2SH+DWR 是一种常见的Web应用程序开发架构,结合了三种强大的技术来构建交互性强、用户体验良好的企业级应用。以下是对这些技术及其在雇员管理系统中的应用的详细解释: 1. EXTJS:EXTJS 是一个JavaScript库...
用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会...
5. **Ajax调用**:DWR的核心是Ajax通信,它使得页面无需刷新就能获取和更新数据。在案例中,可能是通过DWR的`create`、`update`、`call`等方法实现Ajax请求。 6. **事件监听和交互**:ExtJS的Grid组件支持多种事件...
标题中的“spring+dwr+Extjs+sql2008的数组传递grid”是指一个集成应用,使用了Spring框架、Direct Web Remoting (DWR)技术、ExtJS前端框架以及SQL Server 2008数据库,实现了从后端服务器向前端Grid组件传递数据的...
基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架 基于 Extjs + spring + hibernate 的OA框架
ExtJS 是一个流行的JavaScript库,用于构建富客户端的Web应用程序,而DWR(Direct Web Remoting)则是一种在客户端JavaScript和服务器端Java之间进行实时通信的技术。这篇博客文章"Extjs--DWR做的动态树"可能探讨了...
本压缩包文件"Extjs+Dwr"提供了一个整合ExtJS和DWR的例子,让我们来详细探讨一下这两个技术以及它们的整合过程。 **ExtJS** 是一个JavaScript库,主要用于构建桌面级的Web应用。它提供了一套完整的UI组件,包括数据...
本文将深入探讨如何利用Extjs、SpringMVC和MyBatis这三大技术栈构建一个功能完备的财务管控系统。 首先,Extjs是一个强大的JavaScript框架,用于构建用户界面。它提供了丰富的组件库,包括表格、表单、树形视图等,...
ExtJs完整例子ext+dwr,希望能给需要地兄弟提供帮助
本系统是采用Struts1.3+ExtJS2.2+DWR2.0技术 开发环境:Myeclipse6.0+tomcat6.0+sql server2000 里面有完整的代码! 系统简介: 本系统已经实现了对好友发送即时消息和离线消息,也实现了用户的查询及添加,删除...
extjs+asp+access 实例, 用IIS 即可立即调试 详细请看里面说明 同时,打包文件有个extjs3.0的javascript包,里面有个example文件夹,很多都可以copy过来改成自己的代码
这是本人自己总结最好用的通用后台管extjs+MySQL+oracle+SQL server数据库源码:主要运用了一下的知识: 1、主要运用的后台框架是extjs, 2、jsp+hibernate+Struts2+spring+ajax+jQuery, 3、用到了Java面向对象的...
ExtJs+3.0+最新最全中文API帮助文档+CHM版@156_25590.exe
这个框架结合了JavaScript库ExtJS的前端交互性和ASP.NET的强大后端处理能力,提供了丰富的用户界面和高效的服务器端功能。 ExtJS是一个流行的JavaScript框架,它提供了大量的可重用组件,如表格、图表、树形视图、...
采用Extjs+Dwr+Spring+Hibernate 框架实现的用户注册及登录功能 使用Myeclipse 10.0开发,数据库为MySql。 下载后导入项目,注意把数据库名称和密码改为自己的。然后在Tomcat中部署运行。