Geoserver是著名的开源GIS软件之一。也是项目中常用的地图服务软件。基于geoserver和Openlayers就可以构建一个免费的开源GIS项目。
javascript arcgis 取区域中心点
javascript 数字 字母 互转
var alphabet= String.fromCharCode(64 + parseInt(填写数字);
单个字符转数字:
‘a’.charCodeAt(0)
结果: 97
数字转字母:
String.fromCharCode(97)
结果:a
小tip:CSS计数器+伪类实现数值动态计算与呈现【转】
【原文】http://www.zhangxinxu.com/wordpress/2014/12/css-counters-pseudo-class-checked-numbers/
一、CSS计数器为哪样?
要想理解本文内容,你需要首先了解什么是CSS计数器,您可以查看前不久我写的文章“CSS计数器(序列数字字符自动递增)详解”,相当地详尽与深入。
下面的动态行为全部由HTML与CSS触发,没有任何JavaScript的参与,不过使用诸多CSS3功能,因此只在现代浏览器中有效果。OK,放下手中的工作,一起来感受下CSS的潜力吧~
二、CSS计数器与动态计数呈现
您可以狠狠地点击这里:使用CSS计数器动态获得选中元素个数demo
demo中的复选框,你选中几个,就是告诉你对应选中的个数,如下截图,本人土鳖,只吃过3种:
CSS代码很简单,如下:
body {
counter-reset: icecream;
}
input:checked {
counter-increment: icecream;
}
.total::after {
content: counter(icecream);
}
css中伪元素before或after中content的特殊用法attr【转】
【原文】https://segmentfault.com/a/1190000002750033
CSS中主要的伪元素有四个:before/after/first-letter/first-line,在before/after伪元素选择器中,有一个content属性,能够实现页面中的内容插入。
插入纯文字
content:”插入的文章”,或者content:none不插入内容
html:
<h1>这是h1h1>
<h2>这是h2h2>
css
h1::after{
content:"h1后插入内容"
}
h2::after{
content:none
}
运行结果:https://jsfiddle.net/dwqs/Lmm1r08x/
嵌入文字符号
可以使用content属性的open-quote属性值和close-quote属性值在字符串两边添加诸如括号、单引号、双引号之类的嵌套文字符号。open-quote用于添加开始的文字符号,close-quote用于添加结束的文字符号。修改上述的css:
h1{
quotes:"(" ")"; /利用元素的quotes属性指定文字符号/
}
h1::before{
content:open-quote;
}
h1::after{
content:close-quote;
}
h2{
quotes:""" """; /添加双引号要转义/
}
h2::before{
content:open-quote;
}
h2::after{
content:close-quote;
}
运行结果:https://jsfiddle.net/dwqs/p8e3qvv4/
插入图片
content属性也可以直接在元素前/后插入图片
html:
<h3>这是h3h3>
css:
h3::after{
content:url(http://ido321.qiniudn.com/wp-content/themes/yusi1.0/img/new.gif)
}
运行结果:https://jsfiddle.net/dwqs/c6qk6pkv/
插入元素的属性值
content属性可以直接利用attr获取元素的属性,将其插入到对应位置。
html:
css:
a:after{
content:attr(href);
}
运行结果:https://jsfiddle.net/dwqs/m220nzan/
插入项目编号
利用content的counter属性针对多个项目追加连续编号.
html:
<h1>大标题h1>
<p>文字p>
<h1>大标题h1>
<p>文字p>
<h1>大标题h1>
<p>文字p>
<h1>大标题h1>
<p>文字p>
css:
h1:before{
content:counter(my)'.';
}
h1{
counter-increment:my;
}
运行结果:https://jsfiddle.net/dwqs/2ueLg3uj/
项目编号修饰
默认插入的项目编号是数字型的,1,2,3.。。。自动递增,也能给项目编号追加文字和样式,依旧利用上面的html,css修改如下:
h1:before{
content:'第'counter(my)'章';
color:red;
font-size:42px;
}
h1{
counter-increment:my;
}
运行结果:https://jsfiddle.net/dwqs/17hqznca/
指定编号种类
利用content(计数器名,编号种类)格式的语法指定编号种类,编号种类的参考可以依据ul的list-style-type属性值。利用上述的html,css修改如下:
h1:before{
content:counter(my,upper-alpha);
color:red;
font-size:42px;
}
h1{
counter-increment:my;
}
运行结果:https://jsfiddle.net/dwqs/4nsrtxup/
编号嵌套
大编号中嵌套中编号,中编号中嵌套小编号。
html:
<h1>大标题h1>
<p>文字1p>
<p>文字2p>
<p>文字3p>
<h1>大标题h1>
<p>文字1p>
<p>文字2p>
<p>文字3p>
<h1>大标题h1>
<p>文字1p>
<p>文字2p>
<p>文字3p>
css:
h1::before{
content:counter(h)'.';
}
h1{
counter-increment:h;
}
p::before{
content:counter(p)'.';
margin-left:40px;
}
p{
counter-increment:p;
}
运行结果:https://jsfiddle.net/dwqs/2k5qbz51/
在示例的输出中可以发现,p的编号是连续的。如果对于每一个h1后的三个p重新编号的话,可以使用counter-reset属性重置,修改上述h1的css:
h1{
counter-increment:h;
counter-reset:p;
}
这样,编号就重置了,看看结果:https://jsfiddle.net/dwqs/hfutu4Lq/
还可以实现更复杂的嵌套,例如三层嵌套。
html:
<h1>大标题h1>
<h2>中标题h2>
<h3>小标题h3>
<h3>小标题h3>
<h2>中标题h2>
<h3>小标题h3>
<h3>小标题h3>
<h1>大标题h1>
<h2>中标题h2>
<h3>小标题h3>
<h3>小标题h3>
<h2>中标题h2>
<h3>小标题h3>
<h3>小标题h3>
css:
h1::before{
content:counter(h1)'.';
}
h1{
counter-increment:h1;
counter-reset:h2;
}
h2::before{
content:counter(h1) '-' counter(h2);
}
h2{
counter-increment:h2;
counter-reset:h3;
margin-left:40px;
}
h3::before{
content:counter(h1) '-' counter(h2) '-' counter(h3);
}
h3{
counter-increment:h3;
margin-left:80px;
}
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code>
运行结果:https://jsfiddle.net/dwqs/wuuckquy/
张大大有一篇利用counter实现计数的文章:小tip:CSS计数器+伪类实现数值动态计算与呈现
原文:http://www.ido321.com/1555.html
``
Java Axis2 webservice
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.client.ServiceClient;
public class testAxis2 {
public static void main(String[] args) {
String url = "http://192.168.1.1/xxx/DTIService?wsdl";
String namespace = "http://xxx.com.cn";
String methodName = "processMessage";
testDocument(url, namespace, methodName);
}
/**
* 方法二: 应用document方式调用 用ducument方式应用现对繁琐而灵活。现在用的比较多。因为真正摆脱了我们不想要的耦合
*/
public static void testDocument(String url, String namespace,
String methodName) {
try {
String xmlData = "<ROOTMAIN><CASEMAIN><SUBTYPECODE>10101</SUBTYPECODE><EVENTGRADECODE>1</EVENTGRADECODE><EVENTID>2875715</EVENTID><DAMAGEGRADENAME>暂无</DAMAGEGRADENAME><EVENTDESC>北四环西路辅路与六郞庄路交叉口向北50米六郞庄路东侧有绿地脏乱</EVENTDESC><EVENTTYPECODE>1</EVENTTYPECODE><PARTCODE></PARTCODE><ADDRESS>六郎庄37号杆(东南20米)</ADDRESS><OPERATORNAME></OPERATORNAME><TASKNUM>16110803978</TASKNUM><CELLCODE>11010802300219</CELLCODE><TELNUM>13910351520</TELNUM><INSTDATE>2016-11-08T14:24:12</INSTDATE><STREETCODE>110108023</STREETCODE><CREATEDATE>2016-11-08T14:24:12</CREATEDATE><RECDISPNUM>2016海淀管字1793973</RECDISPNUM><MAINTYPECODE>1</MAINTYPECODE><EVENTSRCCODE>1</EVENTSRCCODE><COMMUNITYCODE>110108023002</COMMUNITYCODE><DISTRICTCODE>110108</DISTRICTCODE><PATROLNAME>杜文森</PATROLNAME><COORDINATEY>312853.0</COORDINATEY><COORDINATEX>494444.0</COORDINATEX></CASEMAIN><CASEOPERATIONDETAIL><SIGNHUMANNAME>冯文越</SIGNHUMANNAME><SIGNDATE>2016-11-11T08:51:13</SIGNDATE></CASEOPERATIONDETAIL></ROOTMAIN>";
Options options = new Options();
// 指定调用WebService的URL
EndpointReference targetEPR = new EndpointReference(url);
options.setTo(targetEPR);
// options.setAction("urn:getPrice");
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMFactory fac = OMAbstractFactory.getOMFactory();
// 命名空间,有时命名空间不增加没事,不过最好加上,因为有时有事,你懂的
OMNamespace omNs = fac.createOMNamespace(namespace, methodName);
/* 以下设置添加SOAP消息头 */
OMElement SenderCode = fac.createOMElement("SenderCode", omNs);
OMElement ReceiverCode = fac.createOMElement("ReceiverCode", omNs);
OMElement OperationCode = fac
.createOMElement("OperationCode", omNs);
OMElement MessageID = fac.createOMElement("MessageID", omNs);
SenderCode.setText("002");
ReceiverCode.setText("000");
OperationCode.setText("011");
MessageID.setText("10000000000000000");
sender.addHeader(SenderCode);
sender.addHeader(ReceiverCode);
sender.addHeader(OperationCode);
sender.addHeader(MessageID);
/* 以下设置要发送的参数 */
// 指定方法 名
OMElement method = fac.createOMElement(methodName, omNs);
// 指定方法的参数名
OMElement symbol = fac.createOMElement("MessageInfo", omNs);
symbol.setText(xmlData);
// symbol.addChild(fac.createOMText(symbol, xmlData));
method.addChild(symbol);
method.build();
OMElement res = sender.sendReceive(method);
String result = res.getFirstElement().getText();
System.out.println(result);
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
}
}
}
Excel中外部数据链接无法删除的解决方法【转】
【摘要】
当Excel中公式引用了外部数据,每次打开时,总是自动弹出自动更新链接的对话框。如何找到这些链接?有没有办法实现断开原有链接,而保持数值不变?
有客户反应,当Excel无法链接到外部数据后,还是弹出自动更新的对话框,有时候找到这些链接,但就是无法删除,怎么办?
【正文】
一.断开外部链接,保持数值不变
当打开带有外部链接的文档时,Excel自动弹出更新对话框,如图所示,现在不希望数据自动更新,除了每次都单击“不更新”外,有没有一劳永逸的方法?比如删除外部链接,保留现有数值?
这个梦想可以实现,首先我们要先找到链接在哪里。单击【数据】菜单下【编辑链接】的命令,打开编辑链接对话框。
选中列表中的链接,然后单击“断开链接”即可。
我们可以看到,之前的链接就变成数字了。
)
断开链接前 断开链接后
二.Excel无法链接到外部数据,同时也无法“断开链接”怎么办?
经常有客户遇到这种情况,当单击“更新”按钮时,电脑会弹出无法更新的对话框。
如果单击【编辑链接】,在弹出的对话框中选中链接,单击【断开链接】,在弹出的警告框中继续选中【断开链接】,但该链接依然存在,无论如何也无法断开,怎么办?
每次打开这个文件,总要弹出提醒对话框,每次都要选择【不更新】,烦不胜烦,有没有办法避免这种情况?
有一个方法防止弹出对话框,在【编辑链接】中选择【启动提示】,然后选择“不显示该警告,同时也不更新自动链接”。从此就再没有更新对话框的提醒了,世界瞬间清静了。
但这种做法治标不治本,其实链接还是存在的,只是人们不知情而已,如何彻底删除链接?有两种方法可以尝试一下。
【方法一】删除命名法
如果链接使用了已定义名称(名称:代表单元格、单元格区域、公式或常量值的单词或字符串。名称更易于理解,例如,“产品”可以引用难于理解的区域“Sales!C20:C30”。),那么该名称不会自动删除,您可能还要先删除该名称。
单击【公式】-【名称管理器】,选中名称后,单击【删除】即可。
然后再去【数据】菜单下【编辑链接】,重新删除一次试试,大部分链接可以删除了。
【方法二】更改格式法
有些链接不是因为命名引起的,所以删除命名后,可能还是无法删除链接,那么试试第二种方法,更改格式法。
很简单,将文档从2007版的【.xlsx】另存为2003版的【.xls】,最好把文件名也更新一下,关闭文档,重新打开,你会惊喜的发现,【编辑链接】自动变成灰色了,说明文档已经没有链接,此时再将文档转换会2007版即可。
ASP.NET实现进度条效果【转】
* 原文地址:http://www.jb51.net/article/115310.htm*
这篇文章主要为大家详细介绍了ASP.NET实现简单的进度条效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
我们先看下进度条效果
我点击了按钮后他会显示进度页面,进度完成后,进度条消失,其实也是比较简单的了。
我们需要一个进度条代码文件ProgressBar.htm(注意:是没有head这些标签的)
<div id="ProgressBarSide" style="position: absolute; height: 21px; width: 100px;
color: Silver; border-width: 1px; border-style: Solid; display: block">
<div id="ProgressBar" style="position: absolute; height: 21px; width: 0%; background-color: #1475BB">
</div>
<div id="ProgressText" style="position: absolute; height: 21px; width: 100%; text-align: center">
</div>
<div id="ProgressTitle" style="position: absolute; height: 21px; top: 21px; width: 100%;
text-align: center">
</div>
</div>
删除指定创建日期前的文件夹、文件
forfiles 命令
例:forfiles /p "c:\test" /s /m *.log /d -30 /c "cmd /c del @path /q /f"
删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件
例:删除 c:\test及子目录下 所有log扩展名 修改时间在30天以前的文件
set SrcDir=E:\software
set DaysAgo=7
forfiles /p %SrcDir% /s /d -%DaysAgo% /c “cmd /c del /f /q /a @path && rd /s /q @path”
例:逻辑盘空间不足10G
@echo off
set vol=E
for /f "tokens=2* delims=:" %%a in ('fsutil volume diskfree %vol%:') do set free=%%a
set free=%free:~0,-6%
echo %free%
if %free% lss 10000 echo 这个逻辑盘空间不足10G
@path是forfiles命令中/c 参数变量
默认命令是 "cmd /c echo @file"。下列变量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不带扩展名的文件名。
@ext - 只返回文件的扩展。
@path - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize - 以字节为单位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的时间。
*</em>
MS SQL SERVER执行大脚本文件时,提示“内存不足”的解决办法
问题描述:
当客户服务器不允许直接备份时,往往通过导出数据库脚本的方式来部署-还原数据库,
但是当数据库导出脚本很大,用Microsoft
SQL Server Management
Studio执行脚本时,往往会遇到“内存不足”的提示。
解决办法:
用微软自带的sqlcmd工具,可以导入执行。以SQL
Server 2008 R2版本为例:
第一步:Win+R 键入:cmd 命令,开启命令行工具;
第二步:键入:cd
C:\Program Files\Microsoft SQL Server\100\Tools\Binn
(具体目录路径跟你安装的SQL位置有关)
第三步:键入:sqlcmd -S . -U sa -P 123 -d test -i
data.sql
参数说明:-S 服务器地址 -U 用户名 -P 密码 -d 数据库名称 -i 脚本文件路径
(建议将数据脚本文件拷到此目录,就只用写文件名,而不用写全路径了),注意参数大小写和空格符号。