在项目中突然感觉登陆放在什么地方都不舒服,不如做成javaeye的样式好了,也想顺便看一看是如何的实现。google中搜索'ajax 模式对话框'还真有一些,去年的程序员杂志中有一篇类似的介绍,说明了一下原理,就是把登陆的代码放在一个隐藏的div中,登陆时使用一些CSS的样式达到效果。CSS我不怎么样,看来估计要使用工具类了。结果果然搜索到了,还是在javaeye上找到的,就是这个网址啦,
http://prototype-window.xilinus.com。
下载之后是windows_js_1.2.1版本,发现其中也使用到了prototype.js,感谢外国人的无私奉献。
先贴上我的隐藏部分,就是登陆表单
html 代码
- <div id="login" style="display:none">
- <p><span id='login_error_msg' class="login_error" style="display:none"> </span></p>
- <div style="clear:both"></div>
- <p><span class="login_label">会员名</span> <span class="login_input"><input id="usrid" name="usrid" type="text"/></span></p>
- <div style="clear:both"></div>
- <p><span class="login_label">密码</span> <span class="login_input"><input id="pswrd" name="pswrd" type="password"/></span></p>
- <div style="clear:both"></div>
- </div>
然后就是他给提供的一系列效果了,看过一些example发现很有意思,我使用的是其中的对话框
js 代码
- function openAjaxConfirm() {
- Dialog.confirm($('login').innerHTML, {className:"alphacube", width:400,
- okLabel: "login", cancelLabel: "cancel",
- onOk:function(win){
- checkUser();
- }});
- }
其中的onOk就是点击OK按钮执行的动作啦,这里需要一个检查用户的ajax代码
js 代码
- function checkUser() {
- if($F("usrid" )== "") {
- return false;
- }
-
- var params = 'actionflag=user&usrid=' + $F("usrid") + '&pswrd=' + $F("pswrd");
- var url = '../foreground/userAjaxBean';
- var myAjax = new Ajax.Request(
- url,
- {method: 'post', parameters: params, onComplete: showResponse}
- );
- }
../foreground/userAjaxBean是我的servlet(感觉这部分贴上来意义不大,毕竟不一定非要使用servlet,所以贴上部分代码)
java 代码
- public String validateUser(String usrid,String pswrd) {
- fgUser = fguserService.getUserByUsridAndPwd(usrid.toLowerCase(),EchanceUtil.encryptPwd(pswrd));
- if(fgUser == null){
- return "error";
- }else{
- if(!"Y".equalsIgnoreCase(fgUser.getAccs())){
- return "error";
- }
- fgUser.setPswrd(null);
- fgUser.setUsrid(fgUser.getUsrid().toLowerCase());
- ActionContext.getActionContext().getSessionMap().put(BaseConstants.FG_USER_SESSIONKEY,fgUser);
- }
- return "success";
- }
里面使用了一些工具类等文件,如果验证正确会返回success,否则返回error。
下面又到了客户端了,接受服务器返回的javascript
js 代码
- function showResponse(originalRequest){
- if(originalRequest.responseText == "error"){
- $('login_error_msg').innerHTML='登陆失败';
- $('login_error_msg').style.display = "";
- Windows.focusedWindow.updateHeight();
-
- return false;
- }else{
- window.location='index.shtml';
-
- return true;
- }
- }
到这里就结束了,给大家上个效果看看,打开对话框时页面就是不可编辑啦,根据自己喜欢的样子对CSS略加改动,就OK了。篇幅原因CSS就不贴上来了,意义不大。
- 描述: 登陆失败效果
- 大小: 22.5 KB
分享到:
相关推荐
标题“测试JavaEye的PDF生成效果”提示我们关注的是一个使用JavaEye库生成PDF文档的实践过程。JavaEye可能是一个用于Java平台的开源库,它提供了将数据转换为PDF格式的功能,这对于创建报告、手册或其他需要打印或...
javaeye被黑 大家看看
JavaEye的API使用帮助是一个针对JavaEye开发框架的详细指南,旨在帮助开发者更好地理解和应用这个框架。这个压缩包包含了三个文件:一个PDF文档,一个TXT文本文件,以及一个URL链接。接下来,我们将深入探讨JavaEye ...
20. AJAX技术:包括ExtJS基础教程和jQuery图片循环效果,展示了AJAX如何提升用户体验。 此外,文件还涉及到了软件开发和项目管理的话题,如面子驱动编程、创业公司项目管理的挑战等,这些都是开发者职业生涯中不容...
### JavaEye3.0开发手记之开发环境搭建详解 #### 一、开发环境搭建概述 随着JavaEye3.0开发计划的启动,本篇文章将详细介绍如何为该项目搭建高效的开发环境。开发过程中不仅需要考虑软件的选择,还需要针对操作...
javaeye的信息提示框代码之css,application.js
JavaEye+技术架构,讲述java框架的应用
JavaEye是一款知名的面向开发者的技术社区,它提供了丰富的代码展示功能,其中包括代码高亮显示。在WordPress等博客平台中,为了使代码段在文章中清晰易读,通常会使用代码高亮插件。JavaEye的代码高亮插件以其简洁...
2. **Android SDK**:作为基于Android平台的应用,JavaEye Client SourceCode必然使用了Android SDK,包括Android API的各种类库,例如视图(View)和布局(Layout)系统,以及用于网络通信、数据库操作、文件I/O等...
为了深入学习和使用JavaEye的JERT和BIRT,你需要了解它们的基本概念、设计原理、数据绑定方法以及如何将它们集成到你的项目中。同时,阅读`Birt#Ufffdh.doc`文档将有助于理解BIRT的使用细节,而`.classpath`和`....
同期,Ruby on Rails 2.3最终版发布,该版本引入了Rack中间件的使用和支持新Engine的增强等关键特性,增强了Ruby on Rails的可扩展性和性能。 在开源技术领域,Linux有潜力成为Java的操作系统(OS),以及Google ...
javaeye 论坛小测试 javaeye论坛小测试答案 javaeye论坛测试答案 这下你们就省事了。
使用 Eclipse 平台进行调试 - Java - JavaEye论坛
JavaEye客户端可能包含有关如何使用Java的Thread类或ExecutorService来执行并发请求的示例。 六、调试与日志记录 为了方便调试和问题排查,JavaEye客户端可能会集成Log4j或其他日志框架,以记录程序运行时的关键...
Android JavaEye客户端可能使用自建的评论系统或集成第三方服务如Disqus,提供用户发表观点、回复他人评论的功能。同时,登录、注册、个人资料管理等功能也是必不可少的。 总结,Android JavaEye客户端的开发涉及了...
在这个场景中,我们使用HttpClient来调用JavaEye API来验证用户。JavaEye可能是一个提供用户认证服务的平台,而API则提供了验证用户身份的功能。 以下是一个关于如何使用HttpClient调用JavaEye API的基本步骤: 1....