我遇到了问题.我想创建Document对象,我想拥有一个com.google.appengine.api.users.User类型的用户属性(在GAE的docs网站上,他们说我们应该使用这个对象而不是电子邮件地址或其他东西,因为这个对象可能会被提升为独一无二的).但是现在GWT无法编译该对象,因为我没有该对象的源代码.我该如何解决这个问题?
我正在寻找有关DTO的文件,但我意识到这可能不是我应该使用的最佳模式.
您有什么推荐的吗?
非常感谢您的帮助!
此致,BálintKriván
我有一个在Firefox中运行良好的应用程序但是当我在IE8中测试时,我遇到了一个奇怪的错误: 'Stack overflow at line: 0'
在GWT讨论组建议它可能与从RPC调用返回的大型/复杂对象有关之后,我能够将问题缩小到我的一个RPC服务器调用,这些调用确实返回一个大而复杂的对象.
如果错误是由于大对象太大或太复杂,我怎么知道这个?"太大"的门槛在哪里?
GWT讨论的进一步评论表明Collections对象可能是问题所在,但这是来自GWT开发人员的另一个经验.这是由GWT文档或团队在任何地方记录的吗?
但即便如此,问题仍然存在 - 我怎么知道什么时候'足够小'?
我正在尝试调试GWT应用程序,但似乎我不能用jetty来做.每当我尝试在托管模式下运行它进行调试时,我都会得到一个'unknown realm'500错误消息(没有任何加载).我是通过eclipse做的.之后必须编译所有要在浏览器中调试的内容非常不方便.
编译之后,我将war部署到JBoss中(在服务器上使用EJB).但编译需要时间,当代码变成javascript时,你无法真正调试.我该如何调试java代码?我正在研究-noserver选项,但我想知道我是否还可以用jetty来做.如果没有,为什么不呢.
我的GWT应用程序有问题.我在Jetty服务器上部署并运行.但是当我执行服务器调用(GWT的服务器包上的类)时,服务器返回错误消息.消息是:
7|0|6|http://localhost/zbapp/zb_app/|A31E1254E17F9AD731856D6BE34124A2|main.java.com.gwt.app.client.GreetingService|greetServer|java.lang.String/2004016611||1|2|3|4|2|5|5|6|6|
//EX[2,1,["com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533","This application is out of date, please click the refresh button on your browser. ( Expecting version 5 from client, got 7. )"],0,5]
Run Code Online (Sandbox Code Playgroud)
但是,服务器返回200代码即可.
我更新了浏览器,清理了浏览器缓存并重新编译了应用程序,但它没有运行.解决方案是什么?
提前致谢!
问候!
我正在使用HTML5 Local Storage开发GWT离线应用程序.我想使用com.google.gwt.storage.client.Storage(在2.3版中引入)来缓存/存储传输对象.但问题是,就目前而言(版本2.3),存储只能保存字符串值.
是否有可能从客户端代码中使用GWT内置的rpc序列化/解除机制?这样我就可以序列化传输对象并将它们存储在本地存储中,并在需要时检索它们并反序列化内容.
我有一个GWT应用程序,用户可以无限期地打开应用程序的浏览器端.我们经常升级应用程序 - 如果用户在完成此操作后在浏览器中重新加载,那么一切都会顺利进行.然而,通常会发生的是,他们继续使用已经打开的应用程序版本,即升级之前提供的版本,然后遇到模糊的RPC相关错误,因为客户端Javascript不再与服务器上的内容同步.
GWT是否有任何机制,您可以启用或合并到您的代码中,以应对此问题.我不需要任何巧妙处理的情况,例如尝试重新加载应用程序并重新建立用户的当前状态,一个简单的对话框解释客户端和服务器不再同步并且Web应用程序需要重新加载就足够了.
我正在使用PlayN来开发游戏.它包含一个GameEvent在my-game-core项目中定义的类型.我的GWT和GAE代码存在my-game-html,它具有my-game-coreMaven依赖性.
这是服务impl:
package com.mygame.html.server;
import com.mygame.core.event.GameEvent;
import com.mygame.html.client.ServerEventHandlerService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
@SuppressWarnings("serial")
public class ServerEventHandlerServiceImpl extends RemoteServiceServlet
implements ServerEventHandlerService {
@Override
public String handleEvent(final GameEvent event) {
return "holy porkchops batman!";
}
}
Run Code Online (Sandbox Code Playgroud)
编译得很好.但是,当我尝试在本地开发服务器上运行时调用该服务时,我收到以下错误:
SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
java.lang.NoClassDefFoundError: com/mygame/core/event/GameEvent
...
Caused by: java.lang.ClassNotFoundException: com.mygame.core.event.GameEvent
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:176)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 39 more …Run Code Online (Sandbox Code Playgroud) 首先,我知道做同步调用是"错误的",并且知道"不可能".
但是,在一个很复杂的情况下(我不知道如何解释),我需要等待服务器的响应,我使用GWT-Platform命令实现GWT RPC调用.
这样做我正在寻找某种"黑客".
提前致谢.
我还是GWT的初学者.我想知道GWT的优选特性而不是其他框架.
使用GWT有什么优点或缺点吗?
由于以下外部链接,我问了这个问题......
是的,我知道上面的链接有很多相关的信息.我知道有没有完整的框架.我应该为我的项目需求选择框架.所以,请将此问题作为讨论.但我确信这不是真正的基础问题.
在SO上
有很多使用GWT的用户.我想从他们那里得到一些有用的讨论,建议或信息.
任何建议都会非常感激.感谢您阅读我的问题.
类SecureDispatchService这样从GWT:
@RemoteServiceRelativePath("dispatch")
public interface SecureDispatchService extends RemoteService {
Result execute( String sessionId, Action<?> action ) throws DispatchException;
}
Run Code Online (Sandbox Code Playgroud)
RemoteServiceRelativePath:
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface RemoteServiceRelativePath {
/**
* The relative path for the {@link RemoteService} implementation.
*
* @return relative path for the {@link RemoteService} implementation
*/
String value();
}
Run Code Online (Sandbox Code Playgroud)
测试代码非常简单:
package com.name.sbts.wbts.sm;
import net.customware.gwt.dispatch.client.secure.SecureDispatchService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
public class TestClass {
public static void main(String[] args) {
Class c = SecureDispatchService.class;
System.out.println(c.getAnnotation(RemoteServiceRelativePath.class));
System.out.println(c.getAnnotations().length);
}
}
Run Code Online (Sandbox Code Playgroud)
但结果不是这样的:
null …Run Code Online (Sandbox Code Playgroud)