小编wor*_*l.j的帖子

如何在jQueryUI工具提示中打破行

新版本的jQueryUI(1.9)附带了原生工具提示小部件.用它测试后,如果内容(title属性的值)很短,它就可以正常工作.但是如果内容很长,工具提示一旦显示,就会与输入文本重叠.

官方网站上有一个演示.

将鼠标光标悬停在" 您的年龄"文本上时<input>,显示的工具提示会与文本输入重叠.我不确定这是否是小部件的期望行为.我希望它保持在文本输入的右侧,并在必要时打破行.

编辑:演示页面不再显示原始问题,因为演示已更新为使用jQueryUI v1.10,其中位置代码已更新以更好地放置工具提示 - 请参阅http://api.jqueryui.com/tooltip/#选择位置

在jsFiddle上重新创建了原始问题演示.

jquery jquery-ui tooltip

28
推荐指数
3
解决办法
4万
查看次数

使用JSch将文件放入远程目录,如果该目录不存在,则创建它

我想使用Jsch库和SFTP协议将文件复制到远程目录.如果远程主机上的目录不存在,则创建它.

在API文档,http://epaul.github.com/jsch-documentation/javadoc/,我注意到在put方法,有一种"模式",但它仅仅是传输模式: -转方式, RESUME,APPEND,OVERWRITE之一.

是否有一种简单的方法可以做到这一点,而无需编写自己的代码来检查存在,然后递归创建一个目录?

java sftp jsch

16
推荐指数
2
解决办法
3万
查看次数

如何限制上传到Spring MVC3 Controller的文件类型

我使用Spring MVC3来处理我的Web应用程序的文件上传.现在,我可以使用我的xml上下文文件中定义的以下配置来限制上传的文件大小:

<beans:bean id="multipartResolver"
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <beans:property name="maxUploadSize" value="200000"/> 
</beans:bean>
Run Code Online (Sandbox Code Playgroud)

我已经在网上搜索了如何限制文件类型但无济于事.我发现的大多数文章只教导如何限制文件大小而不是文件类型.提前感谢您的帮助.

java spring file-upload spring-mvc

13
推荐指数
3
解决办法
1万
查看次数

VelocityEngineUtils已经在Spring 3.2中删除了,还有什么用?

今天我将整个Spring Web应用程序从Spring升级3.1.1到Spring 3.2.

我现有的应用程序的大部分内容都不会破​​坏,除了在Spring 3.2

org.springframework.ui.velocity.VelocityEngineUtils
Run Code Online (Sandbox Code Playgroud)

class似乎完全从spring-context-3.2.0.RELEASE.jar中删除.

我在网址中找到了迁移指南.

它表示org.springframework.ui.velocity.VelocityEngineUtils该类已被弃用,但实际上它已被完全删除.

也许我只是错了,我想知道VelocityEngineUtils类是否仍然存在于某个地方或者如果没有,我可以使用的替代类是什么.

编辑:似乎整个速度包已从Spring中删除,3.2所以现在甚至 org.springframework.ui.velocity.VelocityEngineFactoryBean不存在.春天是否会离开Velocity?

java spring velocity

12
推荐指数
3
解决办法
2万
查看次数

使用javascript完全生成html的优点和缺点

最近,我想到了如何提高Web应用程序的整体性能,而不是从Web服务器生成可立即显示的html页面,为什么不让它在客户端完全生成.这样做,只需要将纯数据(在我的情况下是JSON格式的数据)发送到浏览器.这将把html生成的工作从服务器卸载到客户端的浏览器,并减少发送回用户的响应数据包的大小.

经过一些研究,我发现这个框架(http://beebole-apps.com/pure/)与我的相同.

我想知道的是这样做的利弊.对于Web服务器来说肯定更快更好,并且使用现代浏览器,Javascript代码可以快速运行,因此可以快速完成页面生成.

这种方法的缺点可能是SEO.我不确定像谷歌这样的搜索引擎是否会适当地索引我的网站. 你能告诉我这种方法的缺点是什么吗?

Ps:我还附上了示例代码,以帮助描述方法如下:

在头部,简单的JavaScript代码将写如下:

<script type='javascript' src='html_generator.js'/>
<script>
   function onPageLoad(){
      htmlGenerate($('#data').val());
   } 
</script>
Run Code Online (Sandbox Code Playgroud)

在正文中,只存在一个元素,仅用作数据容器,如下所示:

  <input type='hidden' id='data' value='{"a": 1, "b": 2, "c": 3}'/> 
Run Code Online (Sandbox Code Playgroud)

当浏览器呈现文件时,将调用html_generator.js中的htmlGenerate函数,并在此函数中生成整个html页面.请注意,html_generator.js文件可能很大,因为它包含许多html模板,但由于它可以在浏览器中缓存,因此只会下载一次.

html javascript seo jquery html-generation

9
推荐指数
1
解决办法
3192
查看次数

使用正则表达式处理我自己的转义字符

首先,我要为我可怜的英语道歉,请让我解释一下我的情况,假设我有2个文本框供用户输入.在服务器端,我想将两个字符串组合为由','字符分隔的单个字符串.例如,如果用户输入第一个文本框为"hello world",第二个文本框为"foo bar",则最终字符串应为"hello world,foo bar".此字符串需要稍后拆分,以便其他操作使用其内容.因此,当字符串被拆分时,因为','字符用作分隔符,结果字符串将分别是字符串[0] ="hello world"字符串[1] ="foo bar".

当然,当用户在其字符串中键入","字符时,这会导致无法正确拆分的字符串.例如,当用户在第一个文本框中输入"hello,world"并在第二个文本框中输入"foo,bar"时,最后的字符串将是"hello,world,foo,bar",并且拆分结果将错误地为4个单独的字符串

我想出了自定义转义字符的概念.即如果用户输入','字符,它必须在服务器端添加'/'字符.例如,如果用户输入"hello,world"和"foo,bar",则最后的字符串将是"hello /,world,foo /,bar",现在可以拆分,因为已知单个精确的分隔符是单个的','没有'/'字符的字符在它之前.

我写了一些java代码来处理它,如下所示:

    String testText = "hello/,world,foo/,bar";
    String[] split = testText.split("[^/],");
    for(int i=0; i<split.length; i++)
    {
        System.out.println(split[i]);
    }
Run Code Online (Sandbox Code Playgroud)

返回的结果是

string [0] = hello /,worl

string [1] = foo /,bar

这是不正确的,因为"世界"这个词的'd'字符丢失了.似乎这个案例的分隔符是某个字符,它不是/后跟','这是很容易理解的.但我想要的东西就像"用分隔符分割字符串','只跟随不是'/'字符的字符.所以适用于我的情况,只有','字符串中间的字符将被拆分,所以最终结果将如下正确:

string [0] =你好/,世界

string [1] = foo /,bar

我意识到我可能要重写我的正则表达式,但我不知道如何.任何建议都会受到欢迎.

java regex escaping

4
推荐指数
1
解决办法
1470
查看次数

尽管服务已经启动,但不允许远程访问namenode.

我在一台IP为192.168.1.109的计算机上成功安装并运行Hadoop(实际上它实际上是在虚拟机上运行的Ubuntu实例).键入jps时显示

2473 DataNode

2765 TaskTracker

3373 Jps

2361 NameNode

2588 SecondaryNameNode

2655 JobTracker

这应该意味着hadoop正在运行.像./hadoop fs -ls这样的运行命令很好,可以产生预期的结果.

但是,如果我尝试通过编写Java代码的HDFS API来连接它从我的IP为192.168.1.80的Windows框连接它,如下所示:

配置conf = new Configuration();

FileSystem hdfs = null;

路径filenamePath =新路径(FILE_NAME);

hdfs = FileSystem.get(conf); < - 问题发生在这条线上

当我运行代码时,错误显示如下:

11/12/07 20:37:24 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了0次.

11/12/07 20:37:26 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了1次.

11/12/07 20:37:28 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了2次.

11/12/07 20:37:30 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了3次.

11/12/07 20:37:32 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了4次.

11/12/07 20:37:33 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了5次.

11/12/07 20:37:35 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了6次.

11/12/07 20:37:37 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了7次.

11/12/07 20:37:39 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了8次.

11/12/07 20:37:41 INFO ipc.Client:重试连接服务器:/192.168.1.109:9000.已经尝试了9次.

java.net.ConnectException:在连接异常时调用/192.168.1.109:9000失败:java.net.ConnectException:连接被拒绝:无更多信息

为了确定套接字是否已经打开并等待hadoop服务器上的传入连接,我在ubuntu框上netstat,结果显示如下:

tcp 0 0 …

java ubuntu hadoop netstat hdfs

4
推荐指数
1
解决办法
9206
查看次数