struts2 结合extjs实现的一个登录实例

一、先搭建好struts2,能够通过myeclipse高速搭建。

二、再导入extjs所需的库文件。

三、写一个实体类User

package com.ext.model;

public class User {
private Integer id;
private String username;
private String password;
public Integer getId() {
    return id;
}
public void setId(Integer id) {
    this.id = id;
}
public String getUsername() {
    return username;
}
public void setUsername(String username) {
    this.username = username;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}
}

四、写LoginAction

package com.ext.action;

import com.ext.model.User;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport    {
private boolean success;
private String message;
private User user;

@Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        if(user.getUsername().equals("admin")&&user.getPassword().equals("admin")){
            this.success= true;
            //this.message="你的账号是:"+user.getUsername()+"password是:"+user.getPassword();
        }else{
            this.success=false;
            this.message="对不起。未授权的用户不能登录改系统";
        }
        return SUCCESS;
    }

public boolean isSuccess() {
    return success;
}

public void setSuccess(boolean success) {
    this.success = success;
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public User getUser() {
    return user;
}

public void setUser(User user) {
    this.user = user;
}

}

五、struts.xml例如以下所看到的:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="extjs" extends="json-default" namespace="/">
<action name="Login" class="com.ext.action.LoginAction">
<result type="json"></result>
</action>
</package>
</struts> 

六、login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
   <link rel="stylesheet" type="text/css" href="ext3/resources/css/ext-all.css"/>
    <script type="text/javascript" src="ext3/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="ext3/ext-all.js"></script>
    <script type="text/javascript" src="ext3/ext-lang-zh_CN.js"></script>
    <script type="text/javascript" src="login.js"></script>
</head>
<body>
</body>
</html>

七、login.js

Ext.onReady(function(){
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget="side";

var form1=new Ext.FormPanel({
    labelWidth:40,
    baseCls:‘x-plain‘,
    defaults:{width:180},
    items:[{
        xtype:‘textfield‘,
        fieldLabel:"username",
        id:"txtName",
        name:‘user.username‘,
        allowBlank:false,
        blankText:"username不能为空!"
        },{
        xtype:‘textfield‘,
        fieldLabel:"密码",
        allowBlank:false,
        blankText:"密码不能为空!",
        name:‘user.password‘,
        inputType:‘password‘
        }],
    buttons:[{
        text:"提交",
        type:‘submit‘,
        handler:function(){
            if(form1.getForm().isValid()) {
            Ext.MessageBox.show({
                title:‘请等待‘,
                msg:‘正在载入‘,
                progressText:‘‘,
                width:300,
                progress:true,
                closable:‘false‘,
                animEl:‘loding‘
            });
            var f = function(v){
                return function(){
                    var i=v/11;
                    Ext.MessageBox.updateProgress(i,‘‘);
                }
            }
            for(var i=1;i<33;i++){
                setTimeout(f(i),i*1500);
            }
            //提交到server操作
            form1.form.doAction(‘submit‘,{
            url:‘Login.action‘,
            method:‘post‘,
            success:function(form,action){
                document.location="index.jsp";
                Ext.Msg.alert("登录成功。",action.result.message);
            },
            failure:function(form,action){
                Ext.Msg.alert("登录失败!",action.result.message);
            }
            });
        }
        }},
            {
        text:"重置",
        handler:function() {
    form1.getForm().reset();
}
}]
});

    var window = new Ext.Window({
        title :"登录窗体",
        layout:‘fit‘,
        width:290,
        height:250,
        plain:true,
        bodyStyle:‘padding:10px‘,
        maximizable:false,
        closeActon:‘close‘,
        closable:false,
        collapsible:true,
        buttonAlign:‘center‘,
        items:form1
    });
    window.show();

});

八、登录成功的index页面就不写了。

用extjs实现页面间的跳转開始学有点麻烦,注意红色部分。
时间: 2024-08-11 16:03:59

struts2 结合extjs实现的一个登录实例的相关文章

Struts2自定义拦截器Interceptor以及拦截器登录实例

1.在Struts2自定义拦截器有三种方式: -->实现Interceptor接口 public class QLInterceptorAction implements Interceptor{ private static final long serialVersionUID = 1L; public void destroy() { } public void init() {} public String intercept(ActionInvocation arg0) throws

用Struts2搭建一个登录例子【本人亲测好用】

今天尝试struts2的搭建,遇到不少的问题,终于一一解决,逛了很多地方,最终完成搭建 1.首先要下载struts2的一些组件,我下载的是版本2.3.4.1,Eclipse是4.6版本的.由于版本的不断升级,导致在搭建的过程中,和过去相对较旧的版本搭建有了一些差别,不过问题不是很大.工程截图如下: 2.解压下载的组件,在lib目录下找到其中的以下组件: commons-fileupload-1.2.2.jar commons-io-2.2.jar commons-lang3-3.2.jar co

文件上传插件Uploadify在Struts2中的应用,完整详细实例

->最近由于项目需要使用到一个上传插件,在网上发现uploadify挺不错,所以决定使用它,但是官网文档和例子是php的,而项目是SSI框架的,所以自己对uploadify在struts2中的使用进行了一番研究,最终实现了.发现网上关于这方面的资料很少,而且有的一两篇例子还不大全,网友提问质疑很多,所以,下面我特将我的代码公布: --------------------------------------------------------------------- 步骤一: 到官网上下载upl

SSO 基于CAS实现单点登录 实例解析(二)

本文目录: 概述 演示环境 部署CAS-Server相关的Tomcat 部署CAS-Client相关的Tomcat 测试验证SSO 第一: 本demo在一个机器上实现(三个虚拟主机),来看SSO单点登录实例(我们可以布到多个机器上使用都是同一个道理的),一个服务器主机,和两个客户端虚拟主机 <span style="font-size:18px;"># 127.0.0.1 localhost # ::1 localhost 127.0.0.1 localhost 127.0

JSP+servlet简单登录实例

一个简单的jsp+servlet实例,实现简单的登录 转载▼ http://blog.sina.com.cn/s/blog_5c5bc9070100z7wb.html     开发环境myeclipse+tomcat6 1.先创建web project,项目名为RegisterSystem, 2.在WebRoot 目录下创建login.jsp文件,只需修改body中的内容,如下所示: <body>     <form action="login">     us

SSO之CAS单点登录实例演示

一.概述 此文的目的就是为了帮助初步接触SSO和CAS 的人员提供一个入门指南,一步一步演示如何实现基于CAS的单点登录. CAS的官网:http://www.jasig.org/cas 二.演示环境 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows7 64位,主机名称:michael-pc JDK 1.6.0_18 Tomcat 6.0.29 CAS-server-3.4.11.CAS-client-3.2.1 根据演示需求, 用修改hosts

以登录实例简介Servlet使用

1.简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页. 作用:Web 浏览器的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 简单说就是接受客户端传递的输入然后进行处理(链接数据库等)然后在将相应的结果(html等)在返回给客户端显示相当于MWC中的Ccontroller层. Servlet程序的基本运行过程时序图:下面通过一个登陆实例来简单说明下.

ssh框架搭建Struts2.06+spring2.5+hibernate3.2整合实例代码教程步骤

原创整理不易,转载请注明出处:ssh框架搭建Struts2.06+spring2.5+hibernate3.2整合实例代码教程步骤 代码下载地址:http://www.zuidaima.com/share/1760074977233920.htm 最近闲来无事可做,于是开始学习struts2.Struts2和struts1.webwork2有什么区别我也不说了,网上有很多这方面的资料.以前在项目中从未使用过struts,一直使用spring+hibernate,现在既然学习了Struts,也不能

登录实例对比-C#和VB.NET实现三层

大家在阅读这篇文章之前可以先阅读另外一篇博文<三层结构>(请点击这里).对其有最基本的认识. 在看视频的过程中,用C#实现了登录的实例,之后对其又转换为了VB.NET.实现功能是一样的,只是换汤不换药,换了一种表达方式而已.对比着来学习效果更佳. 对比一:实体层  C#实现: <span style="font-size:18px;">public class UserInfo { public int ID { get; set; } public strin