Tag: gwt

使用JSONParser与GWT的问题

我有一个简单的GWT应用程序需要从另一台服务器获取一些JSON数据。 我已经按照几个教程来达到这一点。 当我尝试编译它时,我得到错误 [错误]第44行:没有源代码可用于com.google.gwt.json.client.JSONValue类型; 你忘了inheritance一个必需的模块吗? [错误]第44行:没有源代码可用于com.google.gwt.json.client.JSONParser类型; 你忘了inheritance一个必需的模块吗? [错误]第46行:没有源代码可用于com.google.gwt.json.client.JSONArray类型; 你忘了inheritance一个必需的模块吗? [错误]第49行:没有源代码可用于com.google.gwt.json.client.JSONObject类型; 你忘了inheritance一个必需的模块吗? 我知道我必须补充一下 到我的.gwt.xml文件,但无法弄清楚要添加什么来让它识别JSON的东西。 我错过了什么? 相关代码: private SearchResult[] parseResponse(String jsonResponse) { ArrayList retArray = new ArrayList(); JSONValue jval = JSONParser.parseStrict(jsonResponse); JSONArray resultArray = jval.isArray(); for(int i=0; i<resultArray.size(); i++) { JSONObject resultObj = resultArray.get(i).isObject(); String title = resultObj.get("title").isString().stringValue(); JSONArray roleArray = resultObj.get("roles").isArray(); String roleNames = new String(); […]

MVP和GWT小部件之间的通信

如果我在GWT中使用MVP模式,就像在GWT架构中从2009年的Google I / O谈论最佳实践,但是将信息分散到多个小部件中,应该如何填充值对象? 假设我有一个EditPersonView / Presenter,一个EditPetView / Presenter和一个EditAddressView / Presenter,后两个是小部件,作为EditPersonView中面板的一部分。 有了这些,我有以下课程: class PersonDetails { private PetDetails pet; private AddressDetails addressDetails; // … } PetDetails和AddressDetails实例变量在其演示者对应物中进行管理。 当用户单击EditPersonView中的“保存”按钮时,如何完成窗口小部件之间的通信,以便PersonDetails充满来自其子窗口小部件的信息?

jackson:无法反序列化START_OBJECT令牌中的Number实例

我的GWT服务返回LinkedList 。 这是VisualData外观: import javax.xml.bind.annotation.XmlRootElement; import com.google.gwt.user.client.rpc.IsSerializable; @XmlRootElement public class VisualData implements IsSerializable { private Number value; private long timestamp; public VisualData() { } public VisualData(Number value, long timestamp) { this.value = value; this.timestamp = timestamp; } public long getTimestamp() { return timestamp; } public Number getValue() { return value; } public void setTimestamp(long timestamp) […]

如何让GWT在链接文件夹中查找源代码?

我想创建一个GWT(2.0.4)项目,但我的源代码位于一个不在GWT项目目录下的公共java目录中。 我做了以下事情: 1)在com.mycomp.project.game包中创建了新项目“game”。 这很好用,其源代码在C:\ java \ Projects \ game \ src \ com \ mycomp \ project \ game下。 2)将代码复制到C:\ java \ com \ mycomp \ project \ game中 3)删除C:\ Projects \ game \ src \下的目录 4)文件,新文件夹,高级/链接到文件系统中的文件夹,在src下创建一个链接到C:\ java \ com的’com’文件夹。 这足够了,我可以在Eclipse中的com.mycomp.project.game文件夹下看到所有源代码,但是当我尝试运行我的项目时,我现在收到“无法找到类型”com.mycomp.project.game的错误。 client.Game’”。 GWT不能使用这些文件系统文件夹的链接吗? 有没有办法让我将Java代码保存在项目目录之外的某个地方,但仍然可以在GWT中运行? 谢谢。

使用JPA的GWT – 没有持久性提供程序

GWT与JPA 我的eclipse工作区中有两个项目,我们将它们命名为: -JPAProject -GWTProject JPAProject包含JPA配置内容(persistence.xml,实体类等)。 GWTProject是一个示例GWT项目(取自官方GWT教程)。 这两个项目都很好。 也就是说,我可以在JPAProject中创建EMF(EntityManagerFactory)并从数据库中获取实体。 GWTProject工作正常,我可以运行它,在浏览器中填写字段文本并获得响应。 我的目标是从GWTProject调用JPAProject来获取实体。 但问题是,在调用DAO时,我得到以下exception: [WARN] Server class ‘com.emergit.service.dao.profile.ProfileDaoService’ could not be found in the web app, but was found on the system classpath [WARN] Adding classpath entry ‘file:/home/maliniak/workspace/emergit/build/classes/’ to the web app classpath for this session [WARN] /gwttest/greet javax.persistence.PersistenceException: No Persistence provider for EntityManager named emergitPU at javax.persistence.Persistence.createEntityManagerFactory(Unknown […]

从JSNI调用Java方法

我想从JSNI变量successHandler()调用Java方法test() successHandler() 。 但是,我得到错误 [ERROR] – Line 110: Missing qualifier on instance method ‘com.gw.myProject.client.presenter.payments.PaymentProgramPresenter.test’ 原始代码: public static native void purchase(String token) /*-{ var successHandler = function(status){ // Success handler return @com.gw.myProject.client.presenter.payments.PaymentProgramPresenter::test()(); } var failureHandler = function(status){ // Failure handler // $wnd.alert(‘testing’); } $doc.purchaseAction(token, successHandler, failureHandler); }-*/; public void test() { this.onHide(); }

RESTEasy – javax.ws.rs.NotFoundException:无法找到完整路径的资源

我试图在GWT项目中使用RESTEasy实现REST服务,但是当我进入相应的URI时,应用程序返回: Grave: failed to execute javax.ws.rs.NotFoundException: Could not find resource for full path: http://127.0.0.1:8888/api/matches at org.jboss.resteasy.core.registry.ClassNode.match(ClassNode.java:73) at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48) at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:444) at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:234) at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:171) at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56) at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 我的web.xml是: resteasy.servlet.mapping.prefix /api Resteasy org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher javax.ws.rs.Application eii.api.MatchApplication Resteasy /api/* 应用程序的实现: public class MatchApplication extends Application { private Set singletons = new HashSet(); private […]

GWT中共享包的重要性

我意识到GWt不会编译不在Client包中的类。 但是共享包的重要性是什么? 我需要在这个包中添加哪些类?

IncompatibleRemoteServiceException:此应用程序已过期,请单击浏览器上的刷新按钮

我的GWT项目工作正常,但今天,经过一些更改并添加新的一个异步调用后,没有执行。 例外情况是“此应用程序已过期,请单击浏览器上的刷新按钮。” 执行所有其他异步调用。 An IncompatibleRemoteServiceException was thrown while processing this call. com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: This application is out of date, please click the refresh button on your browser. ( Blocked attempt to access interface ‘com.client.FInterface’, which is not implemented by ‘com.server.FServiceImpl’; this is either misconfiguration or a hack attempt ) at com.google.gwt.user.server.rpc.RPC.decodeRequest(RPC.java:252) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:206) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) 客户: […]

Gxt焦点管理

我正在使用Gxt。 我需要将焦点设置到页面上的第一个启用字段。 但我有很多页面,我想集中这种行为。 Gxt中缺少文档,所以我想知道是否有人遇到过这样的问题并且可以帮助我。 现在它在每个组件的类中都是这样的 protected void resetFocus() { combobox.focus(); } @Override public void show() { super.show(); resetFocus(); } 我找到了com.extjs.gxt.ui.client.aria.FocusManager但绝对不清楚我该如何使用它。 或者也许根据焦点,当它们进入组件时,也可以获得字段链。 我可以将resetFocus方法移动到父类。 像这样的Smth protected void resetFocus() { *getFocusChain().get(0).focus();* }