-
两个不错的CSS框架
最近发现了两款不错的CSS框架,当然本人不是非常喜欢使用CSS框架的,因为毕竟要有时候用一个效果要加载很多无用的东西,但是这两个框架非常不错我这里贴出来。首先是一个动画效果的框架`animate.css`,演示地址:[http://daneden.github.io/animate.css/](http://daneden.github.io/animate.css/)然后就是一个按钮的框架`hover.css`,主要是一些按钮`hover`的动态效果:[http://ianlunn.github.io/Hover/](http://ianlunn.github.io/Hover/)用了`hover.css`不得不说`after`和`before`这些伪元素的重要性啊,感觉很多CSS一些冷门的选择器非常的有用啊,不如`+`这个选择器有时候非常好用。
animate.css hover.css CSS -
JS跨域
今天下午有用户反应说图片上传不了,提示:`SecurityError:Blockedaframewithorigin"null"fromaccessingacross-originframe`![JS跨域](https://static.acgist.com/resources/images/article/201506/14351301365571001.png)问题很简单,这就是一个跨域的问题,为什么会出现这个问题呢,网站不可能会出现这个问题的。我就问什么浏览器,他截了个图:![JS跨域](https://static.acgist.com/resources/images/article/201506/14351301366271002.png)一看协议居然是`file://`,他居然是把页面保存到本地在编辑的,我顿时就石化了。
javascript JS 跨域 -
CSS3伪元素控制表单样式
我相信很多同学都和我一样,不喜欢浏览器自作多情的一些表现,比如IE密码后面的删除输入信息的那个X,日期/数字`input`后面的上下箭头符号,`datalist`下拉箭头,还有IE说出密码什么想手机wifi那个图标以及很多诸如`range`、`meter`、`progress`等等新属性或标签的内置样式修改,但是又不知道怎么清除,今天终于是找到一片好文章,使用CSS的伪元素很轻松的就可以去掉这些东西,下面贴出连接:[http://www.w3cplus.com/css3/list-of-pseudo-elements-to-style-form-controls.html](http://www.w3cplus.com/css3/list-of-pseudo-elements-to-style-form-controls.html)可以看看本站上面的搜索输入框就修改了样式:```cssinput::-webkit-calendar-picker-indicator{color:#1ABC9C;background:none;}```>20220608批注现在基本上对于样式没有什么太多追求了,感觉再怎么漂...
CSS3 伪元素 表单样式 -
Spring整合Ehcache
Spring可以直接使用注解来缓存数据,这个非常不错的功能,但是今天遇到了一个小问题,记录一下。下面两段代码:```java@Cacheable("article")publicListfindArticleNew()...@Cacheable("article")publicListfindArticleHot()...```这两个就会出现问题,本来是两个完全不同的逻辑但是查询出来的数据是一样的,那么为什么呢,原来如果你默认不配置`key`的时候,Spring是根据参数来决定缓存的`key`的。这两个都没有参数,所以`key`是一样的,就会得到同样的值了。解决问题:```java@Cacheable(value="article",key="'article_new'")publicListfindArticleNew()...@Cacheable(value="article",key="'article_hot'")publicListfindArticleHot()...```加上`key`就可以了,**注意`key`的使用SpEL表达式**。>参考文章:[http://sishuok.com/...
Spring Ehcache -
JSON转换错误
```UncaughtSyntaxError:Unexpectedtokenu```这个错有有点狗血,提示的位置不是在`JSON.parse`这一行而是提示在了`:1`第一行,原因就是`JSON.parse`转换的不是一个符合规范的JSON字符串。所以转换的时候判断一下就可以了。
JSON parse -
List对象Ehcache序列化问题
错误信息如下:```javajava.io.NotSerializableException:java.util.ArrayList$SubList```其实错误已经提示非常明显了,就是`list.subList`这个方法返回来的对象是为实现序列化接口的,和`Arrays.asList`这个方法一样。解决方法很简单:```javanewArrayList<>(list.subList(begin,end));```重新生成一个集合就可以了。
Ehcache 序列化 List -
jar冲突
```13-Jun-201501:24:15.830SEVERE[http-nio-8080-exec-8]org.apache.catalina.core.StandardWrapperValve.invokeServlet.service()forservlet[mvc]incontextwithpath[]threwexception[Handlerprocessingfailed;nestedexceptionisjava.lang.NoSuchMethodError:org.apache.commons.lang.ArrayUtils.isNotEmpty([Ljava/lang/Object;)Z]withrootcausejava.lang.NoSuchMethodError:org.apache.commons.lang.ArrayUtils.isNotEmpty([Ljava/lang/Object;)Zatcom.acgist.dao.impl.BaseDAO.findList(BaseDAO.java:74)atcom.acgist.service.impl.WordService.ad...
jar冲突 ArrayUtils -
Spring MVC3.1返回JSON格式
这两天准备把网站改为SpringMVC+JPA,但是发现SpringMVC使用`@ResponseBody`返回JSON时,一直提示`406(NotAcceptable)`。网上很多试过了,都不管用,最后干脆升级了一下版本到3.2.x,发现OK了。
Spring MVC @ResponseBody JSON -
瀑布流分页
网上看了写`jquery.infinitescroll.js`和`jquery.masonry.js`做的瀑布流分页但是都有问题,到了第二页就不行了。可能是没有找到正确的例子,下面是我自己想的一个办法解决。首先是列表:```htmlitem```下面是给出分页的连接:```html```>上面的`baseNumber`就是一个基数,如果是第一页那么`load`的就是第二页,后台判断一下使用`0+2`,如果详细翻了`4`页,那么基数就是`3`,就是这样。下面是JS代码:```javascript```还有就是加载后的页面的高度js居然显示为`0`,可能是上面还需要设置高度,但是确实不想去搞了,所以写段css解决:```css.infinite_scroll{height:auto!important;}```最重要的其实就是使用一个基数那里,其他的自己都可以搞定了。好了,我发现这个问题了,主要是使用加载图片的时候,`$('.infinite_scroll').load`关键就是这个方法了,这里应该使用方法`imagesLoaded`而不是`load`,如果使用`load`需要选择器选择的应该是图片`$('...
瀑布流 jquery.masonry.js jquery.infinitescroll.js -
HTTP断点下载
最近看了有些素材网站,很多都有断点下载的功能,自己也写了,但是发现火狐浏览器可以,但是Chrome浏览器却不行。主要的一些请求头信息如下:第一次下载:![request请求信息](https://static.acgist.com/resources/images/article/201506/14334853312051006.png)第二次下载:![request请求信息](https://static.acgist.com/resources/images/article/201506/14334853315521007.png)大概代码如下:```javaStringifRange=request.getHeader("If-Range");Stringrange=request.getHeader("Range");if(file==null||!file.exists()||!file.isFile())return;longpos=getPos(range);longavailable=file.length();Stringetag=Integer.toHexString(FilenameUt...
HTTP 断点下载 -
400小细节
其实吧,这也是一个细节小问题,仔细的人一般应该都能发现,比如说我。错误信息:```HTTPStatus400-typeStatusreportmessagedescriptionTherequestsentbytheclientwassyntacticallyincorrect.ApacheTomcat/7.0.56```这个`controller`里面其他方法都可以访问,为什么会出现`400`,其实吧,就是因为我拷贝了一个其他的方法导致的,代码如下:```java@RequestMapping(value="/amount/{code}",method=RequestMethod.GET)publicStringamount(@PathVariableStringcode,ModelMapmodelMap,HttpServletResponseresponse){```上面是原来的方法,我copy后修改变成下面的方法:```java@RequestMapping(value="/amount",method=RequestMethod.GET)publicStringamount(@PathVariable...
400错误 -
Git大冒险
最近很多人都用Git,我也是学学,我这里放到github.com上面的。首先创建一个库:![Git建库](https://static.acgist.com/resources/images/article/201506/14332274208321001.png)这里先弄一个public的库:![Git建库](https://static.acgist.com/resources/images/article/201506/14332274886001002.png)然后库里面就可以看到信息了:![Git](https://static.acgist.com/resources/images/article/201506/14332275227211003.png)但是你发现,使用`gitclone`却不能将项目同步到本地...错误提示:`Permissiondenied(publickey).`百度了一下,找到了一篇文章:[http://blog.itpub.net/25851087/viewspace-1262468/](http://blog.itpub.net/25851087/viewspace-...
Git -
Java解压zip文件
代码如下:```java/***解压文件*@paramfilePath源文件*@paramtargetPath解压后文件*@paramdelete解压是否删除原文件*/publicstaticvoidunzip(StringfilePath,StringtargetPath,booleandelete){if(StringUtils.isEmpty(targetPath)||StringUtils.isEmpty(filePath))return;Filefile=newFile(filePath);if(!file.exists()||!file.isFile())return;if(!targetPath.endsWith("/"))targetPath+="/";Tools.createFile(targetPath,true);InputStreamis=null;ZipInputStreamzis=null;try{is=newFileInputStream(filePath);zis=newZipInputStream(is,Charset.forName("UTF-8"));java.util....
Java zip -
使用POI修改PPT文本颜色
用了一下POI修改PPT,感觉这东西好麻烦。下面是两种修改文本颜色的例子:第一种比较简单:```javaColorcolor=newColor(0,0,0);xslfTextRun.setFontColor(color);```上面这种,很容易理解。下面这个就有点点,主要是他的参数名称非常糟糕。```javaif(ctRegularTextRun.getRPr().getSolidFill()==null)ctRegularTextRun.getRPr().addNewSolidFill();ctRegularTextRun.getRPr().getSolidFill().newCursor().removeXmlContents();//删除掉多余信息,否者打开时提示错误if(ctRegularTextRun.getRPr().getSolidFill().getSrgbClr()==null)ctRegularTextRun.getRPr().getSolidFill().addNewSrgbClr();CTSRgbColorctsRgbColor=ctRegularTextRun.getRPr().ge...
POI PPT -
Java文件下载限速
之前一直使用的Spring提供的`ResponseEntity`来做下载,主要代码如下:```javaheaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);headers.setContentDispositionFormData("attachment",order.getSn()+"."+FilenameUtils.getExtension(file.getName()));returnnewResponseEntity(FileUtils.readFileToByteArray(file),headers,HttpStatus.OK);```上面的代码有一些问题,就是`ResponseEntity`加载的时候是一次性把整个文件`load`到内存。那么就可能出现一些问题,例如几个用户同时下载一个200M的文件那么内存消耗非常快,而且没办法限速,也许是我没找到。那么怎么限速呢?直接贴上代码:```javaresponse.setContentType("application/octet-stream");;response.setHeader...
Java 文件下载限速 -
Linux命令轻松统计你的代码行数
上一次Boss问,写了这么久的代码,写了多少行代码统计过吗,当时我没怎么在意,后来越想越觉得这是我的劳动成果,是要自己统计下。当时我想到的是写代码统计咯,这个好像有点那啥是吧。最近我也突然想到了,经常用Linux的`wc`统计,于是乎产生了下面的一行命令轻松搞定:```bashfind./-typef-name'*.java'|xargscat|wc-l```
Linux 统计代码行数 -
MyEclipse2015重置自带Tomcat
重新安装了MyEclipse最新的2015,但是误删了servers的项目,结果启动提示:`TheTomcatserverconfigurationat\Servers\MyEclipseTomcatv7.0-configismissing.Checktheserverforerrors.`如下图:![Tomcat错误](https://static.acgist.com/resources/images/article/201505/14317460912471001.png)解决办法就是点击添加服务器如下图操作就可以了:![MyEclipse添加Tomcat](https://static.acgist.com/resources/images/article/201505/14317461800201002.png)
MyEclipse Tomcat -
Java使用POI读取2007+版本PPT
贴上代码,感觉读取Word,PPT,Excel这些都可以直接把文件用7z解压后,然后看主要文件的XML文件结构,然后代码自然就出来了。不多说了,直接贴上代码:```javapackagecom.acgist.ppt;importjava.io.IOException;importjava.util.List;importorg.apache.poi.openxml4j.exceptions.OpenXML4JException;importorg.apache.poi.xslf.XSLFSlideShow;importorg.apache.xmlbeans.XmlException;importorg.openxmlformats.schemas.drawingml.x2006.main.CTRegularTextRun;importorg.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph;importorg.openxmlformats.schemas.presentationml.x2006.main.CTGraphicalObject...
PPT POI Java -
百度自动提交URL
以前一直觉得在某某论坛才发表了帖子,居然百度直接收录了。原来有这个功能(百度站长主动推送),以前一直没有得到这个权限,所以一直也没做过这东西,今天发现居然有了这个权限了,立马就来写了:```javaimportjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.UnsupportedEncodingException;importorg.apache.commons.lang.ArrayUtils;importorg.apache.commons.lang.StringUtils;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.enti...
主动推送 -
Nginx对字体压缩
对应的`mime`如下:```font/x-woffwoff;font/opentypeotf;application/x-font-ttfttf;application/vnd.ms-fontobjecteot;```
Nginx 字体压缩