我正在阅读这本书:GWT in Action。在第一章我正在完成第一个hello world应用程序。它都处于开发模式。 我的问题是,当我打开URL网页时,我的.java文件中的标签没有显示出来。没有显示任何与标签(“Hello World!”)相对应的内容。
编辑:在显示的网页上,我在谷歌浏览器中按F12,看看我是否能找到任何奇怪的东西。收到错误:无法加载资源:服务器响应状态为404(未找到)
HelloWorld.gwt.xml
<?xml version="1.0" encoding="UTF-8"?>
<!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">
<module>
<inherits name="com.google.gwt.user.User" />
<source path="client" />
<entry-point class="com.example.gwt.client.HelloWorld"></entry-point>
</module>
HelloWorld.java
package com.example.gwt.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
public class HelloWorld implements EntryPoint {
@Override
public void onModuleLoad() {
RootPanel.get().add(new Label("Hello World!"));
}
}
HelloWorld.html的
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>HelloWorld</title>
<script type="text/javascript" language="javascript" src=".nocache.js"></script>
</head>
<body>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
</body>
</html>
我的控制台在将其作为Web应用程序运行后显示:
[WARN] Server class 'org.eclipse.jetty.servlet.listener.ELContextCleaner' could not be found in the web app, but was found on the system classpath
[WARN] Adding classpath entry 'file:/C:/Users/Qs/Desktop/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.6.0/gwt-2.6.0/gwt-dev.jar' to the web app classpath for this session
For additional info see: file:/C:/Users/Qs/Desktop/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.6.0/gwt-2.6.0/doc/helpInfo/webAppClassPath.html
答案 0 :(得分:1)
如果您未在rename-to
中指定gwt.xml
,如下所示,则默认情况下GWT将生成的nocache.js
放在war
目录下的位置名称下gwt.xml
后跟其名称,如下面的快照所示。
<module rename-to="xyz">
有关详细信息,请查看gwt-module dtd。
请查看Defining a module and Renaming modules
有两种方法可以解决这个问题:
在rename-to
中定义gwt.xml
,比第二种解决方案更优选
gwt.xml
<module rename-to="hello">
HTML
<script type="text/javascript" language="javascript" src="hello/hello.nocache.js"></script>
使用默认方式
HTML
<script type="text/javascript" language="javascript" src="com.example.gwt.HelloWorld/com.example.gwt.HelloWorld.nocache.js"></script>
这是一个让它更清晰的快照
答案 1 :(得分:0)
将HelloWorld.html中脚本标记的src属性更改为
src="com.example.gwt.client.HelloWorld/com.example.gwt.client.HelloWorld.nocache.js"
如果仍然无法正常工作,请运行GWT编译器并查看它生成的文件,以确定* .nocache.js文件的确切名称。