码迷,mamicode.com
首页 > 其他好文 > 详细

二期改造项目1

时间:2019-09-28 10:31:40      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:des   点击事件   ack   password   重要   导入数据库   alert   log   标题   

用pdesigner设计出t_user.pdm,导入数据库,向t_user中插入一条测试用户数据
insert into t_user(id,username,password) values(‘1’,’test’,md5(‘123’))
这个需要注意的是md5加密。在业务层进行判断时也要把页面传过来的密码进行md5加密和这个密码进行比较,这里我写了一个md5的工具类。代码如下:

public static String md5(String plainText) {
        byte[] secretBytes = null;
        try {
            secretBytes = MessageDigest.getInstance("md5").digest(
                    plainText.getBytes());
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException("没有md5这个算法!");
        }
        String md5code = new BigInteger(1, secretBytes).toString(16);// 16进制数字
        // 如果生成数字未满32位,需要前面补0
        for (int i = 0; i < 32 - md5code.length(); i++) {
            md5code = "0" + md5code;
        }
        return md5code;
    }
自定义一个登录拦截器
-------------------
struts只能识别默认的拦截器栈
        <interceptors>
        <!-- 注册拦截器 -->
        <interceptor name="bosLoginInterceptor" class="com.itheima.bos.web.interceptor.BOSLoginInterceptor">
            <param name="excludeMethods">login</param>
        </interceptor>
        <!-- 拦截器栈 -->
        <interceptor-stack name="mystack">
                <interceptor-ref name="bosLoginInterceptor"/>
                <interceptor-ref name="defaultStack"/>
        </interceptor-stack>
    </interceptors>
    <default-interceptor-ref name="mystack"/>

页面使用多个样式用空格隔开,例如
class=”txt01 easyui-validatebox”

var v = $("#editPasswordForm").form("validate");//对应表单中的所有输入框进行校验
if(v){//表单校验通过
                //判断两次输入是否一致
                var v1 = $("#txtNewPass").val();
                var v2 = $("#txtRePass").val();
                if(v1 == v2){
                    //输入一致,发送ajax请求,修改当前用户的密码
                    var url = "${pageContext.request.contextPath}/userAction_editPassword.action";
                    $.post(url,{"password":v1},function(data){
                        if(data == '1'){
                            //修改密码成功
                            $.messager.alert("提示信息","密码修改成功!","info");
                        }else{
                            //修改失败
                            $.messager.alert("提示信息","密码修改失败!","warning");
                        }
                        //关闭修改密码的窗口
                        $("#editPwdWindow").window("close");
                    });
                }else{
                    //输入不一致,提示用户输入不一致
                    $.messager.alert("提示信息","两次输入密码不一致!","warning");
                }
            }
在编写dao时遇到了命名查询语句,它就是在对象映射文件domain.hbm.xml中的一个query标签
<query name="">
sql语句
</query>
hibernate模板并没有提供命名语句查询,
Session session = this.getSession();// 从本地线程中获得session对象
        // 使用命名查询语句获得一个查询对象
        Query query = session.getNamedQuery(queryName);
        // 为HQL语句中的?赋值
        int i = 0;
        for (Object arg : objects) {
            query.setParameter(i++, arg);
        }
        query.executeUpdate();// 执行更新
在action中直接使用提示信息不太合理,改进措施把这些信息放到国际化配置文件中(message.properties) ActionSupport类中提供了一个读取配置文件的方法getText("配置文件中的key")在struts.xml中注册这个配置文件的位置,
<constant name="struts.custom.i18n.resources" value="message">

struts提供的错误提示标签

<font color="red">
<s:actionerror/>
</font>

准备工作,在jsp页面中引入easyUI相关的资源文件

layout页面布局

这个布局容器,有五个区域:北、南、东、西和中心。 他中心地区面板是必需的(特别注意),但是边缘地区面板是可选的。每一个边缘地区面板可以缩放的拖动其边境, 他们也可以通过点击其收缩触发.布局可以嵌套,从而用户可以建立复杂的布局,他想要的。

使用规则(重要)
在要使用的块状元素中添加class=”easyui-layout”,使用div指定区域使用easyui提供的data-options=”region:’north’”北部区域
data-options=”region:’south’”南部区域
data-options=”region:’west’”西部区域
data-options=”region:’east’”东部区域
这时页面显示的效果并不好,要在北部区域和南部区域div加上style=”height:100px”指定高度
在西部和东部div加上style=”width:100px”指定高度 在div上加上title属性显示标题,自带折叠效果

accordion折叠面板

使用规则(重要)
在区域div中加入折叠面板div添加属性class=”easyui-accordion”,添加属性data-options=”fit:true”,表示自动填充区域div,每一个子div就是一个面板,在div上添加title属性显示标题,通常放在西部区域里面。

tabs选项卡面板

使用规则(重要)
在中部区域加入选项卡面板div添加属性class=”easyui-tabs”,添加属性data-options=”fit:true”,表示自动填充区域div,在子div中,添加性data-options=”closable:true,iconCls:’icon-add’”表示这个div是可关闭的,面板的图标是添加,面板的图标可以到引入的icon.css中找到。

Ztree树形插件–jQuery插件

我已经在官网上下载ztree插件,里面包括api
在页面导入资源文件


使用规则(重要)
第一种方式:使用标准json数据构成ztree(了解)

<ul id="ztree1" class="ztree"></ul>
$(function(){
                            //当页面加载完成后动态创建菜单
                            var setting={};//设置标准的ztree属性
                            //构造json数据
                            var zNodes=[//每个json数据代表一个节点
                                                    {
                                                        name:'系统管理'
                                                    },
                                                    {
                                                        name:'用户管理',children:[{name:'用户添加'},{name:'用户修改'}]
                                                    },
                                                    {
                                                        name:'权限管理'
                                                    }
                                                    ];
                                    //创建ztree
                                $.fn.zTree.init(
                                    $("#ztree1"),
                                    setting,
                                    zNodes
                                );

                        });

第二种方式:使用简单json数组数据构成ztree(推荐)
在实际开发中我们的节点数据一般来自于系统的业务数据,可以发送ajax请求找action要数据,然后赋给treeNodes

<ul id="ztree2" class="ztree"></ul>
$(function(){
                                //当页面加载完成后动态创建菜单
                                var setting = {
                                        data: {
                                            simpleData: {
                                                enable: true,//启用简单数组数据
                                                idKey: "id",
                                                pIdKey: "pId",
                                                rootPId: 0
                                            }
                                        }
                                    };
                                    var treeNodes = [
                                        {"id":1, "pId":0, "name":"test1"},
                                        {"id":11, "pId":1, "name":"test11"},
                                        {"id":12, "pId":1, "name":"test12"},
                                        {"id":111, "pId":11, "name":"test111"}
                                    ];
                                    //创建ztree
                                    $.fn.zTree.init(
                                        $("#ztree2"),
                                        setting,
                                        treeNodes
                                    );
                            });

给ztree绑定点击事件


function zTreeOnClick(event, treeId, treeNode) {
    var page=treeNode.page;
                    if(page!=undefined){//需要打开选项卡
                                     //判断当前选项卡是否已经打开

                                    var isExists= $("#tt").tabs("exists",treeNode.name);

                                 if(isExists){
                                     $("#tt").tabs("select",treeNode.name);
                                 }else{
                                     $("#tt").tabs("add",
                                                {
                                                 title: treeNode.name,
                                                content: '<iframe src="'+page+'" width="100%" frameborder="0" height="100%"></iframe>',
                                                closable: true,
                                             iconCls: 'icon-search'
                                                }  
                                            );
                                    }
                                 }
};
var setting = {
    callback: {
        onClick: zTreeOnClick
    }
};

jQuery EasyUI消息提示控件

默认的提示框上面的按钮显示为ok,要想显示为中文,需要引入easyui下面locale下面的
easyui-lang-zh_CN.js

alert方法,消息提示框

$.messager.alert(“标题”,”内容信息”,”question/error/info/warning”);

show方法,页面右下角出来提示信息

window.setTimeout(function(){
            $.messager.show({
                title:'欢迎信息',
                msg:'欢迎张三登录系统',
                timeout:3000,
                showType:'slide'
            });
        }, 3000);

confirm方法,确认框,如果点击确定,r的值为true

$.messager.confirm("提示信息","你确定删除当前数据吗?",function(r){
                        alert(r);
                    });

prompt方法,跟confirm的作用差不多

$.messager.prompt("提示信息","你确定删除当前数据吗?",function(r){
                                    alert(r);
                                });

progress方法,进度条

//打开进度条
$.messager.progress();
//关闭进度条
$.messager.progress(‘close’);

原文:大专栏  二期改造项目1


二期改造项目1

标签:des   点击事件   ack   password   重要   导入数据库   alert   log   标题   

原文地址:https://www.cnblogs.com/petewell/p/11601786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!