天道酬勤,学无止境

查看 GWT HTML 源代码?(View GWT HTML source?)

问题

有没有办法查看 GWT 生成的 HTML 源代码? 目前我只是给我的 flex 表一个 DIV id,这个 DIV 是我在 ViewSource 中可以看到的所有 HTML。

有没有办法在 HTML 中构建我的表格(比如使用 div 和列表),而不是围绕它创建一个类似 FlexTable 的东西?

回答1

要回答原始问题,您可以在安装了 Firebug 的情况下查看通过 Firefox 中的“Inspect Element”呈现的 HTML GWT。 或者,Safari/Chrome 中的 Web Inspector 可以解决问题,IE8 和 Opera 中的开发人员工具也可以。

回答2

好吧,答案似乎在文档中。 特别是组织项目概述了我们如何将不同的小部件绑定到页面上的不同 id。 所以我可以有效地执行以下操作:

# html
<div id="id_table"></div>
<div id="id_next_button"></div>

# java
t = new FlexTable()
RootPanel.get("id_table").add(t);
nextbtn = new Button("next");
RootPanel.get("id_next_button").add(nextbtn);

哇!

回答3

关于你问题的第二部分。 可以在 GWT 中创建 HTML 组件。 推荐的方法是扩展ComplexPanel并使用Document.get().createXXXElement()创建元素。 但这有点费力。

看看这个讨论,我相信互联网上还有其他关于这个的文章。 您还可以通过扩展 ComplexPanel 研究其他组件的代码。

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • SuperDevMode入门(Getting started with the SuperDevMode)
    问题 我只想使用superDevMode运行一个简单的应用程序,以了解它的好处。 CodeServer成功启动,但是它抱怨UI中没有要编译的gwt模块。 我遵循以下步骤。 我从GWT Default代码开始,该代码将在我们创建新项目时生成。 然后,我将其转换为Maven项目。 然后,我修改了gwt.xml文件以添加链接器。 这是我的gwt.xml的副本<module rename-to='superdevmode'> <inherits name='com.google.gwt.user.User' /> <inherits name='com.google.gwt.user.theme.clean.Clean' /> <entry-point class='superDevMode.client.SuperDevMode' /> <add-linker name="xsiframe" /> <set-configuration-property name="devModeRedirectEnabled" value="true" /> </module> 我添加了代码服务器jar并设置了正确的类路径。 Codeserver成功启动。 The code server is ready. Next, visit: http://localhost:9876/ 当我启动UI时
  • 我应该在哪里放置GWT应用程序的静态文件? 战争文件夹还是公用文件夹?(Where do I put static files for GWT app? war folder or public folder?)
    问题 我有一些JavaScript文件,一个主要的HTML文件,一个主要的CSS文件以及一些导入到主要文件中的CSS文件。 我知道我可以将静态文件放在两个位置:a)'war'文件夹; 或b)“公共”文件夹。 放置静态文件的最佳位置在哪里? 这两个地点的待遇不同吗? 在这个问题上是否有“最佳实践”? 回答1 这两个位置之间的区别在于,公用文件夹中的文件由gwt编译器复制到“ war”文件夹中的“ your module”文件夹中。 这意味着,如果您部署“战争”(例如通过Google插件到Google AppEngine),则“公共”文件夹中的文件不在顶层。 例如,如果“ public”文件夹中有一个index.html且gwt模块名为“ mymodule”,并将其部署到www.example.com,则其外观如下所示,您需要通过以下方式访问它: www.example.com/mymodule/index.html 如果在“ war”文件夹中有index.html,则会得到: www.example.com/index.html 总结一下。 您的目标网页应位于“ war”文件夹中。 登陆页面使用的资源文件也可以存储在这里(css,图像)。 任何gwt模块文件(或代码,如图像)中引用的任何其他资源文件应存储在与gwt模块相关的“公用”文件夹中。 回答2
  • GWT动态语言环境(GWT Dynamic Locale)
    问题 我想在Spring LocaleContextHolder的帮助下设置gwt-locale接受用户选择的语言环境。 public static final String getCurrentLocale() { return LocaleContextHolder.getLocale().getLanguage(); } 我实际上在Spring MVC中具有登录界面,而在gwtp内部仪表板。 在将登录名也必须传递到gwt之前,相同的语言环境用户在外部接口中进行选择。 不幸的是,我没有看到任何gwt内置的Locale setter。 我的默认语言环境为kh X.gwt.xml是: <inherits name="com.google.gwt.uibinder.UiBinder" /> <inherits name="com.google.gwt.inject.Inject" /> <inherits name="com.gwtplatform.mvp.Mvp" /> <inherits name="gwtquery.plugins.droppable.Droppable"/> <source path="client" /> <source path="shared" /> <define-configuration-property name="gin.ginjector"
  • Guava R07,GWT和javax.annotation.Nullable(Guava r07, GWT and javax.annotation.Nullable)
    问题 我试图在GWT项目中使用Guava失败(准确地说,是HashMultimap)。 我得到了一个无休止的类堆栈跟踪列表: com.google.common.collect.ComparisonChain com.google.common.collect.ForwardingSortedSetMultimap com.google.common.collect.Ordering ... 每个堆栈跟踪都遵循以下路线: 第xx行:无法解析导入javax.annotation 第xx行:Nullable无法解析为一种类型第xx行:Nullable无法解析为一种类型第xx行:Nullable无法解析为一种类型 ... 查看代码,每个引发错误的文件包括: 导入javax.annotation.Nullable; 然后,查看guava-src-r07.jar,每个提到的类都使用@Nullable批注。 我正在使用JDK6并查看JDK6 javadoc,并且...嗯,我找不到任何此类注释。 我可以使这些库与GWT项目和JDK6一起使用吗? PS-您在那使用的是什么版本的Java? 回答1 嗯...我想这是您要寻找的jsr305。 看一眼 http://www.findjar.com/jar/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9
  • View GWT HTML source?
    Is there a way to VIEW the HTML source code that GWT produces? Currently I just give my flex table the DIV id and that DIV is all HTML I can see in ViewSource. Is there a way to structure my table in HTML (say using div's and lists) and than create a something like FlexTable around that?
  • GWT中的超级开发模式(Super Dev mode in GWT)
    问题 我是gwt的新手。 我不知道如何启动Super Dev模式。 我需要逐步的详细解释。 我尝试通过添加来编辑gwt.xml文件 <add-linker name="xsiframe"/> <set-configuration-property name="devModeRedirectEnabled" value="true"/> <set-property name="compiler.useSourceMaps" value="true" /> 但是我不知道这个想法。 回答1 按照这些步骤,您一定会找到解决方案。 下载GWT 2.5 RC2,并将其放置在某处...我将其放置在eclipse / plugins目录中。 关联在Eclipse中,将GWT 2.5添加到“ Project -> Properties -> Google -> Web Toolkit -> Configure SDKs屏幕,然后选择在上述步骤中添加到目录中的2.5版本。 右键单击Eclipse中的项目,转到其“运行配置”窗口,然后创建一个新的“ Java应用程序”,将其命名为“ GWT Super Dev Mode”。 在“运行配置”窗口中,执行以下操作: 根据您的项目名称设置项目,然后在主类中输入com.google.gwt.dev.codeserver.CodeServer 在“
  • 您对构建 GWT 应用程序的建议是什么? MVC、MVP 还是自定义消息传递解决方案?(What's your recommendation for architecting GWT applications? MVC, MVP or custom messaging solution?)
    问题 我刚刚为客户启动了一个新的 GWT 项目,我很想了解人们对各种 GWT MVC 架构的体验。 在最近的一个项目中,我使用了 GXT MVC 以及自定义消息传递解决方案(基于 Appcelerator 的 MQ)。 GXT MVC 工作正常,但对于 GWT 来说似乎有点过分,并且很难处理浏览器历史记录。 我听说过 PureMVC 和 GWTiger,但从未使用过它们。 我们的自定义 MQ 解决方案运行良好,但使用 JUnit 测试组件变得困难。 此外,我听说 Google Wave(一个 GWT 应用程序)是使用 Model-View-Presenter 模式编写的。 最近发布了一个示例 MVP 应用程序,但查看代码,它似乎并不那么直观。 如果您正在构建一个新的 GWT 应用程序,您会使用哪种架构? 你的选择有什么优点和缺点? 谢谢, 马特 回答1 值得注意的是,google终于写出了使用mvp架构进行设计的教程。 它阐明了上面列出的 google i/o 谈话中的许多元素。 看一看:https://developers.google.com/web-toolkit/articles/mvp-architecture 回答2 我很高兴有人问了这个问题,因为 GWT desperatley 需要一种类似于 Rails 的构建应用程序的方式。 一种基于最佳实践的简单方法,适用于
  • HtmlUnit仅显示GWT应用程序的主机HTML页面(HtmlUnit Only Displays Host HTML Page for GWT App)
    问题 我正在使用HtmlUnit API向我的GWT应用添加爬虫支持,如下所示: PrintWriter out = null; try { resp.setCharacterEncoding(CHAR_ENCODING); resp.setContentType("text/html"); url = buildUrl(req); out = resp.getWriter(); WebClient webClient = webClientProvider.get(); // set options WebClientOptions options = webClient.getOptions(); options.setCssEnabled(false); options.setThrowExceptionOnScriptError(false); options.setThrowExceptionOnFailingStatusCode(false); options.setRedirectEnabled(true); options.setJavaScriptEnabled(true); // set timeouts webClient.setJavaScriptTimeout(0); webClient.waitForBackgroundJavaScript(20000)
  • GWT SafeHtmlBuilder 如何在 div 中插入 html 代码(GWT SafeHtmlBuilder how to insert html code in a div)
    问题 我不知道我是否试图做一些违背 SafeHtmlBuilder 本质的事情。 问题是我想将 html 代码(例如,一个 < a > 标签)放在一个 div 中并使其安全。 所以这是我的代码: SafeHtmlBuilder builder = new SafeHtmlBuilder(); builder.append(TEMPLATES.diagramHeader( BasicConstants.diagramHeaderId + "description", newBox.getDescription()); newDiv.setInnerHTML(builder.toSafeHtml().asString()); 还有我的模板: @Template("<div id=\"{0}\">{1}</div>") /* Description */ SafeHtml diagramHeader(String idDesc, String description); 当 getDescription() 返回一个带有 html 代码的字符串(例如,一个 < a > 标签)并呈现 newDiv 的内容时,我没有看到超链接,我看到的是超链接的 HTML CODE。 我想查看超链接,我该怎么做? (我愿意为此牺牲 HTML 的安全性)。 谢谢! 回答1
  • GWT 的最佳数据绑定解决方案(Best data binding solution for GWT)
    问题 您是否曾经为 GWT 使用过许多半生不熟的数据绑定解决方案之一? 如果是这样,它的效果如何? 我想停止为 GWT 滚动我自己的绑定,但在数据绑定领域没有明显的赢家。 我更喜欢使用未来的东西,例如 GWT Incubator,但目前还没有。 我使用 GWTDesigner 并喜欢它,但它似乎也没有解决方案。 它是一个非常基本的缺失功能。 您知道 GWT 团队是否计划增加对此的支持吗? 那样的话,也许我会等。 谢谢 回答1 如果现在对此有任何疑问,您应该使用 GWT 编辑器: http://www.gwtproject.org/doc/latest/DevGuideUiEditors.html 在未来的某个时候,也会支持 jsr 303 验证。 回答2 您可以查看 http://code.google.com/p/gwt-pectin/ 回答3 SmartGWT ( http://www.jroller.com/sjivan/entry/smartgwt_1_0_released ) 是产品 smartclient 的 GWT API。 他们有一个很好的数据绑定解决方案,因为它是在考虑服务器端集成的情况下构建的。 但缺点是它不是一个纯粹的原生 GWT 框架。 它是另一个产品(智能客户端框架)的 JSNI 包装器。 回答4 如果它的 UI 数据绑定到模型
  • 在 GWT Web 应用程序中调用外部应用程序(即 Windows 计算器)(Calling an external application (i.e. Windows Calculator) in a GWT web application)
    问题 当用户单击 GWT Web 应用程序中的按钮时,我试图调用外部 Windows 应用程序(即 calc.exe)。 有没有办法做到这一点? 以下是我迄今为止已经尝试过的: 1.)尝试过 Runtime.exec 和 ProcessBuilder 但我最终遇到了 GWT 编译错误 Runtime.exec 代码: Process winCalc; try { winCalc = Runtime.getRuntime().exec("\"C:/Windows/System32/calc.exe\""); winCalc.waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } Runtime.exec 代码 - GWT 编译错误: Rebinding dir.ClientGinjector Checking rule <generate-with class='org.jsonmaker.gwt.rebind.JsonizerGenerator'/> [ERROR] Errors in 'file:/C:/Users/blahblah/framework/Toolbar.java' [ERROR] Line
  • 在 GWT 中获取 com.google.gwt.user.client.rpc.StatusCodeException: 0(Getting com.google.gwt.user.client.rpc.StatusCodeException: 0 in GWT)
    问题 我有时/经常在 GWT 中遇到此异常,但不知道为什么: SEVERE: com.google.gwt.user.client.rpc.StatusCodeException: 0 java.lang.RuntimeException: com.google.gwt.user.client.rpc.StatusCodeException: 0 at Unknown.java_lang_RuntimeException_RuntimeException__Ljava_lang_Throwable_2V(Unknown Source) at Unknown.de_ctech24_simplynews_web_client_util_SimpleCallback_$onFailure__Lde_ctech24_simplynews_web_client_util_SimpleCallback_2Ljava_lang_Throwable_2V(Unknown Source) at Unknown.com_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_$onResponseReceived__Lcom_google_gwt_user_client_rpc_impl_RequestCallbackAdapter_2Lcom
  • 如何让 GWT DatePicker 使用星期一作为一周的第一天?(How to make GWT DatePicker to use Monday as the first day of the week?)
    问题 差不多,正如标题所说。 我需要让 GWT DatePicker 组件使用星期一作为一周的第一天。 目前日标签是SMTWTFS ,我希望它是MTWTFSS 。 有什么办法可以实现吗? 回答1 如果自动区域设置检测不符合您的需求(并且可能编辑com.google.gwt.i18n.client.constants.DateTimeConstantsImpl_xy.properties的firstDayOfTheWeek也不会),唯一的选择是修改日期选择器: 扩展 DatePicker,编写一个新的构造函数,它使用您自己的视图和模型调用受保护的DatePicker(MonthSelector monthSelector, CalendarView view, CalendarModel model)构造函数。 CalendarModel 可以扩展,因此您必须覆盖getCurrentFirstDayOfFirstWeek 。 DefaultCalendarView是最终的,因此您必须将其复制到一个新类并修改其setup方法。 它非常混乱,这就是 GWT 的一个小缺点——它大量使用单例而不是依赖注入...... 回答2 不需要子类化 DatePicker。 请点击下面的网址阅读谷歌 gwt 文档。 http://code.google.com/webtoolkit/doc/latest
  • 从GWT中的代码触发点击事件(Firing click event from code in gwt)
    问题 我在gwt中创建了一个自定义窗口小部件来扩展复合材料。我在其中使用了焦点面板。对于FocusPanel,我添加了ClickHandler。然后我添加了键盘列表器。我可以通过在GWT中使用代码来触发点击事件? focusPanel.addKeyPressHandler(new KeyPressHandler() { public void onKeyPress(KeyPressEvent event) { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { // TODO call onClick() method } } }); 谢谢 回答1 我尚未为click事件完成此操作,但是我已经完成了此类更改事件。 NativeEvent event = Document.get().createChangeEvent(); DomEvent.fireNativeEvent(event, this); [[ createClickEvent ](http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/dom/client/Document.html#createClickEvent(int,%20int,%20int,
  • 开发模式需要GWT开发人员插件(Development Mode requires the GWT Developer Plugin)
    问题 我的项目使用GWT。 我之前已经为Chrome浏览器安装了GWT插件。 我使用的是最新版的chrome。运行该项目时,Chrome浏览器始终会宣布 开发模式需要GWT开发人员插件 我已附上以下图片 但是当我单击链接时。 Chrome浏览器转到Chrome网上应用店中的插件页面。 但是它向我宣布我的chrome浏览器已经安装了此插件。 我已附上下面的屏幕截图 如何使GWT插件与我的项目一起使用? 谢谢你的帮助 回答1 从GWT网站http://www.gwtproject.org/release-notes.html#Release_Notes_2_6_1 Chrome将于2014年某个时候不再提供GWT开发模式,因此我们改进了其他调试方式。 对超级开发模式,断言,控制台日志记录和错误消息进行了改进。 这是因为chrome版本较新。请使用Super Dev Mode 其他解决方案是您可以启用在chrome 42版本中已禁用的NPAPI,请执行以下步骤 1.打开新标签并输入chrome://flags/#enable-npapi 2. Enable NPAPI Mac, Windows此Enable NPAPI Mac, Windows 3.然后在页面底部单击“重新午餐”按钮。 回答2 今天早上我遇到了同样的问题。 切换到超级开发模式: 在“项目资源管理器”->“调试为”->“
  • Google Web Toolkit(GWT)中的多页教程(Multiple pages tutorial in Google Web Toolkit (GWT))
    问题 我刚刚开始学习Google Web Toolkit(GWT)。 如何在GWT应用程序中制作不同的HTML页面? 例如,我想为书店创建一个应用程序。 在此应用程序中,我将有三个页面: 我将欢迎用户并提供用户手册的主页用于按类别浏览书籍和查看详细信息的页面(使用GWT小部件) 在线结帐。 当然,可能还有其他页面,例如用户的详细信息,添加新书等。那么,在GWT中制作不同页面的最佳方法是什么?如何在页面之间进行导航? 是否有任何示例或教程? 或者当我可以在一个页面中创建整个应用程序时,甚至需要创建其他页面吗? 回答1 在这种情况下,我通常要做的是首先设计网页框架。 我将在页眉,侧面菜单和页脚中添加一个div。 我还将在HTML中的主要内容包含一个div 。 例子: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name='gwt:module' content='org.project.package.Core=org.project.package.Core'> </head> <body> <!-- Load the JavaScript code for GWT --> <script language="javascript" src="ui/org.project.package.ui.Core
  • 在gwt.xml中设置语言环境不起作用(Setting locales in gwt.xml do not work)
    问题 在我的模块xml文件中,我有以下内容: <module rename-to="UIGenerator"> <inherits name="com.google.gwt.http.HTTP" /> <inherits name="com.google.gwt.xml.XML" /> <inherits name="com.google.gwt.i18n.I18N" /> <inherits name="com.google.gwt.i18n.CldrLocales" /> <set-configuration-property name="locale.useragent"value="Y" /> <extend-property name="locale" values="de" /> <extend-property name="locale" values="fr" /> <set-property name="locale" value="de, fr" /> <set-property-fallback name="locale" value="de" /> <entry-pointclass="mypackage.UIGeneratorEntryPoint" /> </module> 但是每次当我尝试使用语言环境时,它都会返回默认的默认语言,即英语。
  • GWT生成器有什么用?(What is the use GWT generator?)
    问题 我已经看到GWT框架具有生成器功能。 在哪种情况下,我们必须使用gwt generator选项,为什么需要它? 谁能简单地告诉我为什么,gwt generator是什么? 做一些谷歌搜索。 但是没有太多有用的东西... 回答1 在本教程中: 生成器允许GWT编码器在编译时生成Java代码,然后将其与项目的其余部分一起编译为JavaScript。 本教程使用了一个示例,该示例基于属性文件在编译时生成值Map 。 回答2 我已经进行了3年的GWT开发,并且我已经编写了一个生成器:)我已经为实验目的编写了两个链接器,因此我认为它们比较常见,尽管仍然很少。 经典案例是您要写的地方 X x = GWT.create(X.class) 并且可能在编译时根据所提供的X类或接口中的注释构造X的特定子类或实现。 GWT将它们用于CSSResource之类的事情。 在Google上搜索"GWT Generator Experiments" site:development.lombardi.com ,以获取有关我所做工作的一些信息。 回答3 用例之一是通过动态构建工厂类来模仿客户端的反射。 我记得回答了您之前发布的有关如何执行此操作的问题 如何从gwt中的类名创建新实例? 所以我想您已经知道该应用程序了。 您还在寻找什么? 你能精确点吗? 回答4 我已经开始在需要Java
  • java / gwt UI编码-干净的代码(java / gwt UI coding - clean code)
    问题 我已经开始使用gwt进行一些基本的Java编码,而我有点担心我的主类。 例如-如何分隔密钥处理程序,因为它们触发了UI的许多更改,我如何才能将其移到单独的.class文件中,并且仍然能够访问主类中的所有各种小部件,而不必将所有内容传递给处理程序(即,我在click事件之后处理的所有小部件)。 我已经在Google上搜索过,但没有遇到任何特别好的示例-知道我可以阅读的任何易读代码库,以了解应如何做? (gwt自己的tut很基本,只是将所有东西都整理到一个文件中) 谢谢! 回答1 我讨厌说些没什么想象力的东西,但是MVC可以工作-虽然不是最终的方法,但是它可以使您井井有条。 编辑:在搜索一个半相关的主题时,我遇到了一个类似的想法,但有更详细的介绍。 就GWT而言,这意味着您应该考虑将GUI组件放在一个类中,将所有事件处理放在第二个类中,然后将对象模型对象与其他两个对象分开。 实现此目的的一种方法是将GUI上的大多数或所有控件公开。 这听起来有些la脚,但是它们的用法封装在控制器内,所以这并不是您具有不可控制的访问权限-实际上,与所有成员都是私有的相比,访问权限的定义更清晰/定义更好,但您的视图代码已与控制器组合在一起。 具体技巧: 让听众成为他们自己的班级。 您经常可以重用它们-换句话说,避免使用匿名内部类。 有时我会创建一个侦听器类,并为每个按钮/控件实例化一个新实例,这些按钮
  • 如何在可重用的 gwt 库/小部件中包含第 3 方 JavaScript 库?(How to include 3rd party JavaScript libraries in a reusable gwt library/widget?)
    问题 我正在尝试用 GWT 弄湿我的脚,看看迁移是否可行。 我通常先尝试更困难的部分,以确保我可以完成项目。 我的项目中最困难的部分是引用 3rd 方 JS 库。 在这个例子中,我尝试使用 PubNub,因为我们的平台大部分都在使用它。 我想做的是创建一个可重用的对象,可以在需要 PubNub 的其他 GWT 项目中使用。 我有一个简单的小测试成功运行(即,我已经掌握了 JNSI 工作的基础知识),但我的问题是 -> 我在哪里放置对 3rd 方脚本的引用以正确创建库/模块? 现在我只是把对外部脚本的引用放在项目的 HTML 页面中,但我很确定从可重用性的角度来看这是不正确的,因为这个库将用于其他项目,每个项目都有自己的基本 HTML 页面。 我尝试将引用放在 gwt.xml 文件中,但这似乎丢失了引用(即我的测试项目不再像脚本位于 HTML 页面时那样工作) 您有关于如何在可重用 GWT 库/小部件中包含第 3 方库的任何提示吗? 回答1 这里有一个使用客户端包和脚本注入器的示例,您可以使用同步加载或异步加载。 使用同步时,外部 js 内容将嵌入到应用程序中,否则它将包含在一个不同的片段中,该片段将通过 ajax 请求获得。 您可以将您的 api 放在任何服务器中并使用 ScriptInjector 加载它。 public class Example { public static