1. 事务及其特性

    事务是单个逻辑工作单元,要么全部做完,要么全部不做,事务由两种状态,一个提交一个回滚。 事务由四个特性ACID,原子性、一致性、隔离性和永远性。

    2013/05/05 数据库

  2. 使用fn函数控制页面显示内容

    在使用EL的时候,不可避免的遇到,截取字符串,判断字符串长度等情况。这里给出简单的通过fn函数操作字符串的deamon。 1、页面引入标签 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 2、对内容的处理 <c:choose><c:when test='${fn:length(dutyLog.content) >= 100}'>${fn:substring(dutyLog.content,0,100)}...</c:when><c:otherwise>${dutyLog.content}</c:otherwise></c:choose> //获取dutyLog.content的对应长度; ${fn:length(dutyLog.content)} //截取dutyLog.content的长度,${fn:substring(str,beg,end)} ${fn:substring(dutyLog.content,0,100)} 特此记录,以待下次使用。

    2013/03/22 问题一箩筐

  3. fmt标签进行格式化

    在项目中可能会遇到一种情况,使用new Date()向Oracle数据库中插入数据。但是在页面显示的时候通过c标签实体.属性的时候,你会发现对于日期类型在页面展示的时候会发现其展示为这种情况。 对此的处理: 1、使用日期格式化,在后台对数据指定格式化格式,再重新组装在实体中。 2、就是使用今天也说的fmt标签。在页面中引入 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 按照指定格式对日期进行格式化。具体使用该方式进行格式化,可参照下面blog所述。 http://271788203.iteye.com/blog/585828

    2013/03/12 问题一箩筐

  4. oracle 连接 异常 Acquisition Attempt Failed!!! Clearing pending acquires

    出错代码 ``` com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1429b9f – Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception: java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186647040)(ERR=12519)(ERROR_STACK=(ERROR=

    2013/03/04 问题一箩筐

  5. index jsp jspInit

    项目运行时报错: java.lang.NullPointerException at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22) 出现该问题的原因大部分是由于jsp-api.jar和servlet-api.jar的问题。因为它们可能和tomcat中自带的jar包冲突。首先尝试删除这两个jar。再次编辑,应该就可以了。

    2013/02/27 问题一箩筐

  6. Error configuring application listener of class orgspringframeworkwebcontext

    最近在使用Maven时,由于对其不太熟的原因,老是出问题。有问题就要总结啦。 问题: org.apache.catalina.core.StandardContext listenerStart 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4078) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) org.apache.catalina.core.StandardContext listenerStart  在一顿搜索之后发现实际上在Web-Inf文件夹下没有lib文件夹。没有该文件夹,项目还怎么运行啊。 原因:在将MAven项目转化为eclipse下的web项目时,没有把对应的jar转化过去。 解决办法:选中项目—->properties–>Deployment在该界面把相关的jar添加进去。 finish.

    2013/02/26 问题一箩筐

  7. svg自定义菜单的动态实现

    svg自定义菜单的实现 svg也使用过几次了,但是仍不是太熟练。最近做项目遇到新的问题。用户希望右键我在svg上生成的圆,产生自己的菜单,左键点击进入对应的别的操作。即,也拓展原有的右键功能,同时保留之前的左键功能。 实现的具体思路,感谢强大的互联网,找到了几个有用的方案。 第一步先做了静态菜单。 实现方式 在svg里面直接添加下列节点  <defs> <menu id="defaultMenu"> <header>Adobe SVG Viewer</header> <item action="Open" id="Open">打开(&amp;E)</item> <item action="OpenNew" id="OpenNew">在新窗口中打开(&amp;N)</item> <separator/> <item action="ZoomIn" id="ZoomIn">放大显示(&amp;I)</item> <item action="ZoomOut" id="ZoomOut">缩小显示(&amp;O)</item> <item action="OriginalView" id="OriginalView">原始检视(&amp;W)</item> <separator/> <item action="Quality" id="Quality">较高品质(&amp;Q)</item> <item action="Pause" id="Pause">暂停(&amp;P)</item> <item action="Mute" id="Mute">静音(&amp;M)</item> <separator/> <item action="Find" id="Find">寻找(&amp;F)...</item> <item action="FindAgain" id="FindAgain">再次寻找(&amp;A)</item> <separator/> <item action="Copy" id="Copy">复制选取的文字(&amp;C)</item> <item action="CopySVG" id="CopySVG">复制 SVG(&amp;C)</item> <item action="ViewSVG" id="ViewSVG">检视 SVG(&amp;G)</item> <item action="ViewSource" id="ViewSource">检视原始码(&amp;V)</item> <item action="SaveAs" id="SaveAs">另存 SVG(&amp;S)...</item> <separator/> <item action="Help" id="Help">帮助(&amp;H)</item> <item action="About" id="About">关于 Adobe SVG Viewer(&amp;B)...</item> </menu> <menu id='myMenu'> /* 定义新菜单 */ <header>Menu utilisateur</header> <item id='Menu0' onactivate="cc()">变色</item> <item id='Menu1' onactivate='cd1()'>菜单1</item> <item id='Menu2' onactivate='cd2(2)'>菜单2</item> <item id='none1'/> <item id='Menu3' action="ZoomOut">缩小</item> <item id='Menu4' action="ZoomIn">放大</item> <item id='none2'/> <item id='Menu5' action='ViewSource'>浏览源代码</item> </menu> </defs> 然后在该SVG中添加JS方法(建议直接添加在SVG中,因为这样可以方便调用svg内置的东西)。 js方法要在svg定义的想替换位置添加。 function showMyMenu(alias,mn,evt) { if(evt.button==2) { var menuId = document.getElementById(mn); if(mn == "myMenu"){ //根据相应的具体操作,操纵具体的对象 } } } 我这里为了控制这个Svg的菜单,所以,添加js控制在整个外层g上 <g onmousedown="showMyMenu('','defaultMenu',evt)"> //其它页面内容 </g>

    2013/02/21 问题一箩筐

  8. js和Jquery对select的操作

    jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkValue=$("#select_id").val(); //获取Select选择的Value 4. var checkIndex=$("#select_id ").get(0).selectedIndex; //获取Select选择的索引值 5. var maxIndex=$("#select_id option:last").attr("index"); //获取Select最大的索引值 jQuery设置Select选择的Text和Value: 语法解释: 1. $("#select_id ").get(0).selectedIndex=1; //设置Select索引值为1的项选中 2. $("#select_id ").val(4); //设置Select的Value值为4的项选中 3. $("#select_id option[text='jQuery']").attr("selected", true); //设置Select的Text值为jQuery的项选中 jQuery添加/删除Select的Option项: 点击一次,Select将追加一个Option 点击将在Select第一个位置插入一个Option 点击将删除Select中索引值最大Option(最后一个) 语法解释: 1. $("#select_id").append("<option value='Value'>Text</option>"); //为Select追加一个Option(下拉项) 2. $("#select_id").prepend("<option value='0'>请选择</option>"); //为Select插入一个Option(第一个位置) 3. $("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个) 4. $("#select_id option[index='0']").remove(); //删除Select中索引值为0的Option(第一个) 5. $("#select_id option[value='3']").remove(); //删除Select中Value='3'的Option 5. $("#select_id option[text='4']").remove(); //删除Select中Text='4'的Option function jsSelectIsExitItem(objSelect, objItemValue) {  var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { isExit = true; break; } } return isExit; }             // 2.向select选项中 加入一个Item         function jsAddItemToSelect(objSelect, objItemText, objItemValue) { //判断是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) {  alert("该Item的Value值已经存在"); } else { var varItem = new Option(objItemText, objItemValue); objSelect.options.add(varItem); alert("成功加入"); } } // 3.从select选项中 删除一个Item         function jsRemoveItemFromSelect(objSelect, objItemValue) { //判断是否存在 if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options.remove(i); break; } } alert("成功删除"); } else { alert("该select中 不存在该项"); } } // 4.删除select中选中的项     function jsRemoveSelectedItemFromSelect(objSelect) {  var length = objSelect.options.length - 1;         for(var i = length; i >= 0; i--){             if(objSelect[i].selected == true){                 objSelect.options[i] = null;             }         }     }          // 5.修改select选项中 value="paraValue"的text为"paraText"  function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) { //判断是否存在             if (jsSelectIsExitItem(objSelect, objItemValue)) { for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].value == objItemValue) { objSelect.options[i].text = objItemText;  break;                     }                 }                 alert("成功修改");             } else { alert("该select中 不存在该项"); } }            // 6.设置select中text="paraText"的第一个Item为选中         function jsSelectItemByValue(objSelect, objItemText) { //判断是否存在 var isExit = false; for (var i = 0; i < objSelect.options.length; i++) { if (objSelect.options[i].text == objItemText) { objSelect.options[i].selected = true;  isExit = true; break;                 }             }                   //Show出结果             if (isExit) {                 alert("成功选中");             } else {                 alert("该select中 不存在该项");             }         }            // 7.设置select中value="paraValue"的Item为选中     document.all.objSelect.value = objItemValue;            // 8.得到select的当前选中项的value     var currSelectValue = document.all.objSelect.value; // 9.得到select的当前选中项的text var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;            // 10.得到select的当前选中项的Index     var currSelectIndex = document.all.objSelect.selectedIndex; // 11.清空select的项     document.all.objSelect.options.length = 0;

    2013/02/21 问题一箩筐