我有一个基于GWT的页面,我想使用HtmlUnit为它创建一个HTML快照.页面使用产品上的Ajax/JavaScript信息加载,因此大约1秒钟就会出现Loading ...消息,然后会显示内容.
问题是HtmlUnit似乎没有捕获信息,我得到的只是"Loading ..."范围.
下面是一个带有HtmlUnit的实验代码,我试着给它足够的时间等待加载数据,但它似乎没有改变任何东西,我仍然无法捕获GWT javascript加载的数据.
WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(true);
webClient.setThrowExceptionOnScriptError(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
WebRequest request = new WebRequest(new URL("<my_url>"));
HtmlPage page = webClient.getPage(request);
int i = webClient.waitForBackgroundJavaScript(1000);
while (i > 0)
{
i = webClient.waitForBackgroundJavaScript(1000);
if (i == 0)
{
break;
}
synchronized (page)
{
System.out.println("wait");
page.wait(500);
}
}
webClient.getAjaxController().processSynchron(page, request, false);
System.out.println(page.asXml());
Run Code Online (Sandbox Code Playgroud)
有任何想法吗...?
默认情况下,GWT Place URL包含Place的简单类名(如"HelloPlace"),后跟冒号(:)和PlaceTokenizer返回的标记.
我的问题是如何将":"改为"/"?
我在尝试安装htmlunit软件包时收到以下错误:
com.springsource.com.gargoylesoftware.htmlunit_2.6.0 [370] could not be resolved.
Reason: Package uses conflict:
Import-Package: org.apache.commons.logging.impl; version="1.1.1"
Run Code Online (Sandbox Code Playgroud)
我已在此博客上遵循此类问题的诊断程序.
以下是我的发现:该捆绑com.springsource.com.gargoylesoftware.htmlunit_2.6.0
包含以下说明:
Import-Package: \
org.apache.commons.logging;version="[1.1.1, 2.0.0)",\
org.apache.commons.logging.impl;version="[1.1.1, 2.0.0)"
Run Code Online (Sandbox Code Playgroud)
在我的OSGi中唯一具有此使用约束的包是com.springsource.org.apache.commons.logging
,它具有以下指令:
Export-Package: \
org.apache.commons.logging;version="1.1.1",\
org.apache.commons.logging.impl;version="1.1.1";\
uses:="javax.servlet,
org.apache.avalon.framework.logger,
org.apache.commons.logging,
org.apache.log,
org.apache.log4j"
Import-Package: \
javax.servlet;version="[2.1.0, 3.0.0)";resolution:=optional,\
org.apache.avalon.framework.logger;version="[4.1.3, 4.1.3]";resolution:=optional,\
org.apache.log;version="[1.0.1, 1.0.1]";resolution:=optional,\
org.apache.log4j;version="[1.2.15, 2.0.0)";resolution:=optional
Run Code Online (Sandbox Code Playgroud)
在这一点上,我陷入困境,因为我无法弄清楚问题是什么以及如何解决它虽然从我上面提供的应该是清楚的,但不是我:(
有任何想法吗...?
我使用下面的Spring配置来连接到mongoDB
<bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate">
<constructor-arg name="mongo" ref="mongo"/>
<constructor-arg name="databaseName" value="${mongodb.dbname}"/>
</bean>
<bean class="com.mongodb.MongoURI" id="mongoUri">
<constructor-arg value="${mongodb.url}" />
</bean>
<bean class="com.mongodb.Mongo" id="mongo">
<constructor-arg ref="mongoUri" />
</bean>
Run Code Online (Sandbox Code Playgroud)
哪里 mongo.url=mongodb://<user>:<password>@<host>:27017
但是我收到了一个认证错误.我的理解是MongoUI可以采用上述格式的URL.
我知道mongoTemplate可以接受userCredentials对象但是我需要首先从URL中提取它们,我不知道如何在配置中执行此操作.
任何想法如何更改我的上面的配置以支持这个假设mongo.url格式不能更改?
我正在寻找一个循序渐进的指南,使用eclipse bndtools插件将jar转换为OSGi包.我知道可以使用命令行使用bnd来完成它,但很高兴知道如何通过IDE执行相同的操作.
我可能会遗漏一些东西,但本教程仅解释了如何从头开始创建项目.
我正在使用 log4j syslog 附加程序,并注意到当发生异常时,附加程序将堆栈跟踪中的每个条目写入新行。
有没有一种方法可以对其进行配置,以便整个堆栈跟踪将作为一行而不是多行?
我正在使用JSONObject来删除我在 JSON 字符串中不需要的 certin 属性:
JSONObject jsonObject = new JSONObject(jsonString);
jsonObject.remove("owner");
jsonString = jsonObject.toString();
Run Code Online (Sandbox Code Playgroud)
它工作正常,但问题是 JSONObject 是“名称/值对的无序集合”,我想保持 String 在通过 JSONObject 操作之前的原始顺序。
知道如何做到这一点吗?
我正在尝试手动将lucene jar文件添加到我的本地ivy存储库.我有其他apache jar所以在现有的文件夹下.ivy2\cache\apache.org \我创建了一个名为lucene的文件夹,里面有一个名为jars的文件夹.然后我将名为lucene-3.0.3.jar的jar放在jars文件夹中.下一步我在lucene文件夹中创建了以下ivy-3.0.3.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0">
<info organisation="apache.org" module="lucene" revision="3.0.3" status="release" publication="20090416105712">
</info>
<publications>
<artifact name="lucene-3.0.3" type="jar" ext="jar"/>
</publications>
</ivy-module>
Run Code Online (Sandbox Code Playgroud)
然后我尝试从这样的项目中引用它:
<dependency org="apache.org" name="lucene" rev="3.0.3"/>
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误:"未解决的依赖:apache.org #lucene; 3.0.3:未找到"
我能够从我的.ivy2缓存文件夹中找到其他依赖项,只是我手动创建的这个依赖项给出了问题.
我错过了什么?
我开发了一些RESTful方法并通过Apache Cxf公开它们
我正在使用Spring MVC开发客户端应用程序,我正在寻找一个简单的示例来演示如何使用Spring MVC调用/使用这些REST方法
我知道如何使用Apache http客户端,但更喜欢使用Spring MVC,以防这种情况已经在那里实现.
我正在使用PropertyPlaceholderConfigurer来映射属性文件中的字符串值,它可以正常工作.
我的问题是,如果我可以在我的属性文件中设置这个:myList = A,B,C
然后将其映射到列表
@Value("${myList}")
private List<String> myList;
Run Code Online (Sandbox Code Playgroud)
当我尝试它时,它将所有值放在列表的一个位置.有没有办法告诉它用","打破这个列表?