zoukankan      html  css  js  c++  java
  • 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()+"密码是:"+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:{180},
    items:[{
    xtype:'textfield',
    fieldLabel:"用户名",
    id:"txtName",
    name:'user.username',
    allowBlank:false,
    blankText:"用户名不能为空!"
    },{
    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:'',
    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);
    }
    //提交到服务器操作
    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',
    290,
    height:250,
    plain:true,
    bodyStyle:'padding:10px',
    maximizable:false,
    closeActon:'close',
    closable:false,
    collapsible:true,
    buttonAlign:'center',
    items:form1
    });
    window.show();

    });


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

    用extjs实现页面间的跳转开始学有点麻烦,注意红色部分。

  • 相关阅读:
    概率期望小记
    洛谷P5591 小猪佩奇学数学【单位根反演】
    EasyUI取消树节点选中
    EasyUI获取正在编辑状态行的索引
    js判断是否是大小写,数字等方法
    ElasticSearch部署问题
    全文检索ES 服务启动和关闭
    文件异步上传
    js控制时间显示格式
    SpringMVC 多视图解析器 跳转问题
  • 原文地址:https://www.cnblogs.com/kunpengit/p/2433279.html
Copyright © 2011-2022 走看看