1.button
js监听一个button的click事件,preventDefault()无效,不一定是js没写对,而是button有没有定义type=“button”,在一个form表单中,button如果不定义的话,默认就做submit处理了,所以请求直接就发出去了,监听也没用。
2.hibernate查询分页
最简单的还是hibernate的query直接在querystring中进行限定,限定setFirstResult()和setMaxResults()。比如我们要从第11条记录开始查询,那么我们可以这样子写
- String queryString = "select m from Profile as m where m."
- + propertyName1 + "= ? and m." + propertyName2 + "= ?";
- Query queryObject = getSession().createQuery(queryString)
- .setFirstResult(10).setMaxResults(10);
- queryObject.setParameter(0, value1);
- queryObject.setParameter(1, value2);
- List<?> s = (List<?>) queryObject.list();
- return s;
这样子返回一个查询结果的list,然后迭代出来就可以了,当然,这只是查询部分的,如果要写分页的话,还需要count()等来辅助进行。
3.jquery的.on()
如果我们直接用$(document).ready(function(){})来做的话,对于使用ajax调用产生的新的dom元素,用一般的.click()等事件监听是不会起到作用的,在老版本的jQuery中使用.live()可以来进行对未来元素和现有元素的监听工作,但是新版本的建议是使用.on()来进行处理,这样子新生成的元素也就自然而然的可以监听到了。
4.jquery的遍历
遍历的话jquery的方法真的很好用,特别是选择器,很方便,.parent()、.children()、.prev()、.next()用起来非常省事儿。
5.jquery的ajax
- var data = {"userid" : $('input[name="userid"]').val(),
- "phonenum" : $('input[name="phonenum"]').val(),
- "email" : $('input[name="email"]').val()
- };
- $.post('profile-update', data, function(data, textStatus, jqXHR) {
- if (jqXHR.success(function() {
- alert("success");
- })
- );
当然,也可以直接连缀上一个.success()来处理,可以看http://api.jquery.com/jQuery.post/
6.hibernate的casecade级联
对于一对多或者多对多的情况,如果删除主表中的记录,那么以主表的主键做外键的其它表就会产生错误,导致删除失败,需要设置hibernate的配置文件casecade为delete,这样子删除的时候就可以自动把这些也删除了,当然还有其它的选项,感兴趣的话可以直接查找casecade的相关内容。