Browse Category

杂记

easyui form回车绑定tab实现

//功能:将回车键转tab键

    $('input:text:first').next('span').find('input').focus();
    var $inp = jQuery('input:text');
    $inp.bind('keydown', function (e) {
        debugger;
        var key = e.which;
        if (key == 13) {
            e.preventDefault();
            var nxtIdx = $inp.index(this) + 1;
            $(":input:text:eq(" + nxtIdx + ")").next('span').find('input').focus();
        }
    });

idea的Terminal npm不能使用

打开cmd窗口(window的窗口不是idea的),然后在标题处右击选择属性,然后勾上使用旧版控制台,确定,重启电脑,解决

Idea maven技巧总结

首先idea中maven生命周期的的操作在Lifecycle中进行,在plugins中有同样类似的操作,很容易让人误解,至今我也分不清两边的区别。相关知识还有待后人进行补充。

将自己的项目安装到本地仓库使用的是install命令,发布到远程用的是deploy这里和eclipse以及maven命令以一样的使用,只是idea中方便了操作。

另外发布到远程仓库用需要在pom中进行指定

<distributionManagement>
<snapshotRepository>
<id>jason-snapshots</id>
<name>jason-snapshots</name>
<url>http://www.qqxh.net/nexus/content/repositories/jason-snapshots/</url >
</snapshotRepository>
</distributionManagement>

jquery 树形下拉框插件

jquery 树形下拉框插件
MultipleTreeSelect.js是基于jquery和ztree开发的树形下拉选择框插件,支持ie8+,谷歌,火狐,360等浏览器

MultipleTreeSelect.js有如下主要特点
体积小巧,大小只有4k
兼容到ie8以及各大主流浏览器
低侵入式使用
使用简单方便
继承了ztree高效渲染
MultipleTreeSelect 欢迎使用本插件: MultipleTreeSelect

示例图片:
demo

快速上手示例:
1. 引入jquery,ztree,MultipleTreeSelect等js和css文件

<meta charset=”UTF-8″>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<html>
<head>
<title>$Title$</title>
<link type=”text/css” rel=”stylesheet” href=”css/demo.css”>
<link type=”text/css” rel=”stylesheet” href=”css/metroStyle/metroStyle.css”>
<script src=”js/jquery-1.11.2.min.js”></script>
<script type=”text/javascript” src=”js/jquery.ztree.all.js”></script>
<script type=”text/javascript” src=”MultipleTreeSelect.js”></script>

<script>

 

</script>
<script type=”text/javascript”>

/*节点列表(这里演示的是非异步方式的实现)*/
var zNodes = [
{id: 1, pId: 0, name: “火之国”, open: true},
{id: 11, pId: 1, name: “木叶忍者”, open: true },
{id: 111, pId: 11, name: “鸣人” },
{id: 112, pId: 11, name: “佐助”},
{id: 12, pId: 1, name: “木叶暗部” },
{id: 121, pId: 12, name: “鼬”},
{id: 122, pId: 12, name: “卡卡西”},
{id: 2, pId: 0, name: “沙之国”, open: true},
{id: 21, pId: 2, name: “千代婆婆”},
{id: 26, pId: 2, name: “我爱罗”} ,
{id: 22, pId: 2, name: “沙之国忍者”, open: true},
{id: 221, pId: 22, name: “手鞠”},
{id: 222, pId: 22, name: “勘九郎”},
{id: 3, pId: 0, name: “水之国”},
{id: 4, pId: 0, name: “土之国”}
];
/*配置项*/
var defaults = {
textLabel: “jasontext”,
zNodes: zNodes
}
/*注册下拉树方法也很简单*/
$(document).ready(function () {
$(“textarea”).drawMultipleTree(defaults);
});
//–>
</script>
</head>

<body style= “width: 1080px ;margin: 0 auto” >
<br>
<!–在此元素上进行渲染下拉树–>
<textarea style=”width: 300px” checks=”1,11,2,23″ type=”text” readonly></textarea>

</body>
</html>
2.异步加载配置实例

var defaultsw = {
textLabel: “qtrxbText”,
async: {
enable: true,
url: “http://qqxh.net”
}
}
3.配置文件详解

var settingAsync = {
textLabel: “选中的文本在表单项中的name”,
async: {
enable: true,
url: “异步加载url地址”
},
chkStyle: “radio”,/*radio:单选模式,checkbox:多选模式,默认为多选*/
radioType : “all”,/*all:整个树只能有一个选中,level:在每一级节点范围内当做一个分组*/
height:433,/*容器高度*/
callback:{
onCheck: function() {}/*选中事件的回调*/
}
}
4.api列表

获取选中文本
$(“#yourContentId”).drawMultipleTree(“getChecks”,”val”);
获取选中code
$(“#yourContentId”).drawMultipleTree(getChecks,”text”);
设置默认选中值

通过给元素设置checks属性来进行设置,格式为:checks=”1,2,3,4,5″
MultipleTreeSelect 开发者网站:http://www.qqxh.net

小型应用使用vue假如不用单文件组件的实现方式

通过将js和css进行分离引入的模式来进行开发。主页面中通过常规js和css引入。这种只适应简单架构的情景,如果应用比较大型。不推荐使用这种方式进行组织代码。只是针对对webpack等前端构建不熟悉的人才使用这种模式进行开发

idea远程debugger Tomcat

首先在远程tommcat的(tomcat版本为7.0以后版本)
catalina.bat开头加上:
set CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8888,server=y,suspend=n
启动startup.bat时,出现:
Listening for transport dt_socket at address: 8888
监听正常
在idea中找到remote debugger配置debugger监听端口为8888运行debugger,然后在访问服务器上面的地址就可以在本机的tomcat进行debugger了。注意访问地址不是8888而是tomcat本身的发布应用端口,也就是默认的8080等等

关于jsessionid来源的研究

java开发中偶然是会遇到,系统登陆的各种问题。比如有的浏览器能登陆有的不能登陆,这时候就需要人工去在具体的环境中找寻原因。首先要找的就是跟踪登陆时候session的状态。那么浏览器中sessionid到底是在哪里看又在哪里生成呢。大多数人只知道session的作用但是没研究过的工作原理。首先session有两种模式进行工作,1.浏览器自动cookie模式。这种模式一般情况session名字是叫做jsessionid,这应该是一个规范。具体不同的服务器可能名字不一样。反正tomccat就是jsessionid;2.url重构的方式来实现这种情况需要每个url后面都需要追加当前sessionid,这是针对有浏览器被禁用cookie的时候使用的方式。所以一旦出现登陆不能成功的时候就要记得注意检查是不是浏览器禁用了cookie,如果cookie没有被禁用的时候,再看下跟踪下后台,看下后台有没有接收到该sessionid。在没有手动管理session的系统中跟踪session时不要想着找sessionid在哪里创建的,是没有意义的。这些都是servlet完成,而且tomcat容易会自动进行cookie标示存到浏览器,浏览器下次请求也能自动传递该域下的cookie并且tomcat会自动关联响应的session。你只需要查看当前session和浏览器对应的是不是同一个id,有没有过期即可。

使用cxf遇到的一个异常

org.apache.commons.discovery.DiscoveryException: No implementation defined for org.apache.commons.logging.LogFactory

jar包冲突导致的,应是你的应用中已经捆绑了commons-logging的jar包,可以删除试试。

java项目添加第三方论坛实现单点登录问题

1.给dz配置ucenter,最新版本的dz自带的ucenter后台不能登录解决方法是:
打开uc_server/model/admin.php
找到第22行的
$this->cookie_status = 0;
改成
$this->cookie_status = isset($_COOKIE[‘sid’]) ? 1 : 0;
2.dz的ucenter配置和ucenter的通信失败,一般原因是key不同导致的,可以到ucenter应用中将key拷贝到dz的ucenter设置里
3.下载的ucenter java包导入项目报错,此问题是因为jar包冲突或者编译器bug导致的。可以将jre类库remove然后再build上去。如果还有异常就将jre的位置放到第一位即可
4.在测试项目中测试成功之后说明配置没问题了。现在就可以在java登录注册注销等方法中调用ucenter登录方法实现单点登录了

李蒙

我的李蒙从消失到现在已经十几年了,现在应该已为人母。可是这个世界人每个人都有真正消失的一天,想到这我为我曾经的拥有,而感到深深的欣慰。