小编jan*_*jan的帖子

GSON - 从String获取JSON值

我试图解析JSON字符串"{'test':'100.00'}"并使用GSON库获取值:100.00.我的代码看起来像这样:

String myJSONString = "{'test': '100.00'}";
JsonObject jobj = new Gson().fromJson(myJSONString, JsonObject.class);

String result = jobj.get("test").toString();

System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

我的结果看起来像这样:"100.00",但我只需要100.00没有引号.怎么能这样做?

java parsing json gson

56
推荐指数
2
解决办法
7万
查看次数

jQuery - 从数组中获取元素作为jQuery元素?

如果我打电话

$(".myClass")
Run Code Online (Sandbox Code Playgroud)

我得到了一系列元素.如果我现在想要将第一个元素作为jquery元素,我会做这样的事情:

$($(".myClass").get(0))
Run Code Online (Sandbox Code Playgroud)

所以我包装DOM-Element,我再次使用jQuery运算符从数组中获取.有没有更优雅的方式来做到这一点?一些get方法,例如返回一个jQuery元素?

javascript jquery dom word-wrap

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

错误的GWT请求对象列表的工厂性能

我正在通过GWT Request Factory将对象列表传输到客户端.对象只包含几个字符串,列表只包含20个对象.要传输这个小数据列表,需要一秒钟.首先,我认为需要优化查询.但测量显示:

从数据库中检索对象只需要

300ms

转移到客户端总共需要一秒钟

1136ms

所以这似乎是请求工厂开销.我已经使用了自己的ServiceLayerDecorator并且已经覆盖了isLive()函数,所以它总是返回true.我可以采取任何其他措施加快速度并将性能提升到可接受的范围吗?

更新:

我创建了将我的实体对象数据复制到DTO并使用RPC传输它们以比较RPC和Request工厂性能的逻辑.如您所见,RPC逻辑要快得多.现在我想知道这是设计还是我的申请中存在缺陷.

20个转移对象:

Request factory: 1252 ms

RPC: 420 ms

28个转移对象:

Request factory: 1654 ms

RPC: 460 ms

78个转移对象:

Request factory: 3963 ms

RPC: 769 ms

================================================== ==========

UPDATE2

所以我编写了一个非常简单的示例应用程序,以确保我的应用程序没有任何过滤器或其他干扰组件.应用程序从服务器加载10个带有4个String字段的对象.我使用Request工厂和RPC完成了它并停止了时间.

代码可以在这里找到:https: //github.com/jan10101/requstFactoryVSRPC

这里的生活演示:http: //requestfactorytest.appspot.com/

测试应用程序证实了我的观察结果:与RPC性能相比,请求工厂性能非常糟糕.在开发模式下,RPC的性能大约高出40倍,在生产模式下仍然是4倍.我是第一个注意到性能问题的人吗?

以下屏幕截图显示了测试结果,如果您不想自己尝试.

开发模式下的结果:

在此输入图像描述

生产代码的结果(在app引擎上): 在此输入图像描述

java performance gwt gwt-rpc requestfactory

25
推荐指数
1
解决办法
862
查看次数

GWT - Module.gwt.xml - XML验证警告

如果我在最新的eclipse版本(kepler)中创建一个新的GWT 2.6项目,我总是收到以下警告消息:

The file cannot be validated as the XML definition "http://google-web-toolkit.googlecode.com/svn/tags/
 2.6.0/distro-source/core/src/gwt-module.dtd" that is specified as describing the syntax of the file
Run Code Online (Sandbox Code Playgroud)

在我的Module.gwt.xml行旁边:

<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.6.0//EN"
"http://google-web-toolkit.googlecode.com/svn/tags/2.6.0/distro-source/core/src/gwt-module.dtd">
Run Code Online (Sandbox Code Playgroud)

该文件(" http://google-web-toolkit.googlecode.com/svn/tags/2.6.0/distro-source/core/src/gwt-module.dt ")是否可用,如果我在浏览器吗?

或者这个错误告诉我什么?我该如何解决这个警告?

xml validation gwt doctype

18
推荐指数
1
解决办法
8802
查看次数

Eclipse kepler - 禁用javascript验证

我刚安装了新的eclipse kepler(eclipse 4.3).它向我展示了来自第三方JavaScript库的数百个错误和警告.

我尝试通过取消选中"Preferences/JavaScript/Validator"中的"启用JavaScript语义验证"来完全禁用javasscript验证,但没有效果 - 仍会显示错误和警告.

还有其他选项可以禁用它们,还是只是一个错误?

在此输入图像描述

其他人可以确认这个问题还是仅仅是我?:)

编辑1: Lavie Tobey指出,我应该将所有验证设置为"忽略" - >没有帮助

在此输入图像描述

编辑2: Jim Garrison指出,我应该禁用项目的构建器 - >实际上我没有一个javascript构建器.已禁用所有测试目的,但没有帮助:

在此输入图像描述

javascript java eclipse validation

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

HTML正文未在移动设备上填充完整的宽度

如果我在普通浏览器中打开我的(GWT)页面,一切正常.身体占据整个宽度,内容很好地居中.但是,如果我在手机上试试这个,身体不会占据整个宽度,因此内容不会居中.

我无法找出为什么会这样显示.此外,为body和html标记添加100%宽度并不能解决问题.

有没有办法在移动设备上很好地工作?

该页面可以在以下网址获得:http://www.vegantastic.de/ 在此输入图像描述

html css mobile

13
推荐指数
5
解决办法
2万
查看次数

Mockito和HttpServletResponse - 将输出写入textfile

我想用mockito测试我的servlet.我也想知道服务器输出是什么.所以如果servlet写出这样的东西:

HttpServletResponse.getWriter().println("xyz");
Run Code Online (Sandbox Code Playgroud)

我想把它写成文本文件.我为HttpServletResponse创建了模拟,并告诉Mockito如果调用了HttpServletResponse.getWriter(),它应该返回我的自定义PrintWriter:

HttpServletResponse resp = mock(HttpServletResponse.class);
PrintWriter writer = new PrintWriter("somefile.txt");
when(resp.getWriter()).thenReturn(writer);
Run Code Online (Sandbox Code Playgroud)

生成文本文件,但它是空的.我怎样才能使这个工作?

编辑:

@Jonathan:这实际上是真的,嘲笑作家也是一个更清洁的解决方案.解决了这个问题

StringWriter sw = new StringWriter();
PrintWriter pw  =new PrintWriter(sw);

when(resp.getWriter()).thenReturn(pw);
Run Code Online (Sandbox Code Playgroud)

然后我可以检查StringWriter的内容,而不必处理文件.

java unit-testing servlets mocking mockito

9
推荐指数
2
解决办法
4478
查看次数

使GWT可抓取(SEO)

我喜欢让谷歌机器人抓取我的GWT-App.我找到了这篇文章(https://developers.google.com/webmasters/ajax-crawling/).它声明应该有一个servlet过滤器,它提供与谷歌机器人不同的视图.但这怎么可行呢?如果我使用例如活动和位置模式,那么页面更改仅在客户端,并且没有涉及servlet - > servlet过滤器在此处不起作用.

有人可以给我一个解释吗?或者是否有另一个针对gwt定制的好教程如何做到这一点?

java seo gwt servlets

7
推荐指数
1
解决办法
2127
查看次数

Hibernate - 激活Bean Validation集成时出错

我正在尝试设置Hibernate.但是当我尝试使用以下代码创建会话工厂时:

Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();        
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Run Code Online (Sandbox Code Playgroud)

我收到错误:

org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration
        at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:156)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:303)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1760)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: java.lang.NoSuchMethodError: javax.validation.spi.ConfigurationState.getParameterNameProvider()Ljavax/validation/ParameterNameProvider;
        at org.hibernate.validator.internal.engine.ValidatorFactoryImpl.<init>(ValidatorFactoryImpl.java:113) …
Run Code Online (Sandbox Code Playgroud)

java validation hibernate hibernate-validator bean-validation

7
推荐指数
1
解决办法
2万
查看次数

Eclipse 代码模板 - 缩进

我创建了一个代码模板来添加记录器和相应的导入:

${:import(org.apache.log4j.Logger)}
private static final Logger logger = Logger.getLogger(${enclosing_type}.class);
Run Code Online (Sandbox Code Playgroud)

如果我现在添加它,记录器总是从行的开头开始,即使我的光标已经缩进了。有没有办法强制放置在光标位置?

这是一个屏幕截图来显示我的意思:

在此输入图像描述

====>>>>

在此输入图像描述

编辑:格罗夫的回答在这个特定案例中有所帮助。但是这个例子怎么样呢?我还想向记录器添加评论。如果我在同一行中定义这样的模板,那么记录器实际上会与注释出现在同一行中。

${:import(org.apache.log4j.Logger)}
/**
 *  Logger
 */ private static final Logger logger = Logger.getLogger(${enclosing_type}.class);
Run Code Online (Sandbox Code Playgroud)

java eclipse indentation code-templates

6
推荐指数
1
解决办法
1632
查看次数