问题标签 [gwt-mvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gwt - 数据展示小部件 + MVP
我正在尝试使用新的数据表示小部件(cellTable)
现在对于我正在制作的演示,我使用了此处的示例How to use GWT 2.1 Data Presentation Widgets在每一行的列中创建一个按钮。
我对 MVP 的理解是,我需要从我的角度将 HasClickEvents 公开给我的演示者。我该如何做到这一点?
现在我有
java - GWT 锚定位置?
在 GWT 2.1+ 应用程序中,如何生成指向外部消费地点的链接?
例如,假设我想创建一个到 Place1 的链接。对于内部消费,我可以做到presenter.goTo(new Place1("token"))
。我怎样才能把它变成Anchor
用户可以粘贴到浏览器中的链接或某种链接?
gwt - 尝试在 Jboss 中部署 GWT Web 应用程序时出现问题
我有一个奇怪的错误,我使用 gin、Presenter 和 dispatcher 创建了一个 Web 应用程序,然后我成功部署在 JBoss 中,但是当我尝试在进程服务器中部署时,我按照相同的方式复制了 war 文件夹并包含了正在运行的 application.xml在jboss下我收到错误
配置类 com.wellsfargo.coredevelopment.server.guice.MyGuiceServletConfig java.lang.NoClassDefFoundError: com/google/inject/servlet/ GuiceServletContextListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader 的应用程序侦听器时出错.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java: 141) at java.net.URLClassLoader.defineClass(URLClassLoader. java:283) 在 java.net.URLClassLoader.access$000(URLClassLoader.java:58) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:197) 在 java.security.AccessController.doPrivileged(Native Method) 在 java .net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:296) 在 org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java : 190) at org.jboss.mx.loading.ClassLoadingTask $ThreadTask.run(ClassLoadingTask.java:131) at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399) at org.jboss.mx。 loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java: 517) at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java: 405) at java.lang.ClassLoader.loadClass(ClassLoader.java:296) at java.net .FactoryURLClassLoader.loadClass(URLClassLoader.java:627) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:296) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 在 org.apache。catalina.core.StandardContext.listenerStart(StandardContext.java: 3711) at org.apache.catalina.core.StandardContext.start(StandardContext.java: 4211) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 759) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 739) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 524) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java: 503) 在 org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164) 在 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) 在 org.apache.catalina.core.StandardContext.init(StandardContext.java: 5052) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java: 503) at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java: 164) at org.jboss.mx.server.MBeanServerImpl.invoke( MBeanServerImpl.java: 659) 在 org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java: 297) 在 org.jboss.web.tomcat.tc5.TomcatDeployer。performDeploy(TomcatDeployer.java: 103) at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java: 371) at org.jboss.web.WebModule.startModule(WebModule.java:83) at org.jboss.web.WebModule .startService(WebModule.java:61) 在 org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java: 289) 在 org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java: 245) 在 sun.reflect.GeneratedMethodAccessor11。在 org.jboss.mx.interceptor.ReflectedDispatcher.invoke( ReflectedDispatcher.java: 155) 在 org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 在 org.jboss.mx.server.Invocation。在 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) 在 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) 在 org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) 调用(Invocation.java:86) .system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java: 417) at sun.reflect.GeneratedMethodAccessor17.invoke( Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher. java: 155) 在 org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 在 org.jboss.mx 的 org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)。server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)在 $Proxy29.start(Unknown Source) at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java: 466) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java : 39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher. java: 155)在 org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 在 org.jboss.mx.interceptor.AbstractInterceptor。在 org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java: 142) 在 org.jboss.invoke(Invocation.java:88) 调用(AbstractInterceptor.java: 133) .mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java: 97) at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java: 238) at org.jboss.ws.integration.jboss.DeployerInterceptor.start(DeployerInterceptor.java : 92) 在 org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java: 95) 在 org.jboss.mx.server.Invocation 的 org.jboss.deployment.SubDeployerInterceptorSupport $XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)。在 org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.invoke) 调用(Invocation.java:88)。java: 264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy30.start(Unknown Source ) 在 org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015) 在 org.jboss.deployment.MainDeployer.deploy(MainDeployer.java: 819) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at sun.reflect.GeneratedMethodAccessor55.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang .reflect.Method.invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 在 org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java: 133) 在 org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 在 org.jboss.mx.interceptor.ModelMBeanOperationInterceptor .invoke(ModelMBeanOperationInterceptor.java: 142) 在 org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 在 org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) 在 org. jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy9.deploy(Unknown Source) at org.jboss.deployment .scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java: 421) 在 org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java: 634) 在 org.jboss.deployment.scanner。AbstractDeploymentScanner $ScannerThread.doScan(AbstractDeploymentScanner.java:263) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java: 336) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java: 289) at org .jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java: 245) 在 sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) 在 java.lang.reflect.Method .invoke(Method.java:597) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org. jboss.mx.server.Invocation.invoke(Invocation.java:86) 在 org.jboss.mx.server。AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) at org.jboss.system.ServiceController $ServiceProxy.invoke(ServiceController.java:978) at $ sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25 的 org.jboss.system.ServiceController.start(ServiceController.java: 417) ) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) 在 org.jboss.mx.server.Invocation.dispatch( Invocation.java:94) 在 org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 在 org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java: 659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy4.start(Unknown Source ) 在 org.jboss.deployment.SARDeployer.start(SARDeployer.java:302) 在 org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) 在 org.jboss.deployment.MainDeployer.deploy(MainDeployer.java: 819) 在 org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) 在 org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun .reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) at java.lang.reflect.Method.invoke(Method.java:597) 在 org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java: 155) 在 org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 在 org.jboss.mx.interceptor.AbstractInterceptor .invoke(AbstractInterceptor.java: 133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java: 142) at org. jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java: 264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl. java: 659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy5.deploy(Unknown Source) at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482 ) 在 org.jboss。system.server.ServerImpl.start(ServerImpl.java:362) 在 org.jboss.Main.boot(Main.java:200) 在 org.jboss.Main$1.run(Main.java:490) 在 java.lang。 Thread.run(Thread.java:662) 引起:java.lang.ClassNotFoundException: com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController .doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java :301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248)lang.ClassNotFoundException:com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass( URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java :248)lang.ClassNotFoundException:com.google.inject.servlet.GuiceServletContextListener at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass( URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java :248)loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248)loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248)
我的库中的 jar 文件夹是 aopalliance.jar gin.jar guice-2.0.jar guice-servlet-2.0.jar gwt-dispatch-1.0.0-snapshot.jar gwt-log-2.6.2.jar gwt-presenter-1.0 .0-snapshot.jar gwt-servlet.jar
我用google提供的greeting的示例应用程序进行了测试,它成功部署在我的进程服务器中......
并且类结构是
导入 com.google.inject.Guice;导入 com.google.inject.Injector;导入 com.google.inject.servlet.GuiceServletContextListener;
公共类 MyGuiceServletConfig 扩展 GuiceServletContextListener {
DispatchServletModule()); } }
gwt - GWT - 在使用场所/活动/映射器时我应该在哪里使用代码拆分?
“核心”是指加载的应用程序的初始部分。
为了将 url 绑定到地点,GWT 使用
PlaceTokenizer<P extends Place>
. 从 url 加载应用程序时,它会调用该方法P getPlace(String token)
来检索要调用的位置的新实例。由于代码拆分的异步性质,我无法
runAsync
在此方法中创建 a 内的位置。所以我必须把我的应用程序的所有地方都放在核心中。要将场所链接到活动,GWT 调用
Activity getActivity(Place place)
(fromcom.google.gwt.activity.shared.ActivityMapper
) 来检索活动的新实例。再一次,我必须把我所有的活动都放在核心中。
这是我想尝试的:编写一个自com.google.gwt.place.shared.Delegate
定义
- 将自身绑定在
PlaceChangeRequestEvent
. 如果 requestPlace 对应的 AppPiece 没有加载,则调用event.setWarning(NEED_TO_LOAD_MODULE)
- 在该
confirm(String message)
方法中,当消息等于时总是NEED_TO_LOAD_MODULE
返回 false (因此它不会打扰用户),并通过RunAsync
. - 加载模块后,调用
goTo(requestedPlace)
我的应用程序的每个 AppPiece 都包含一堆活动和相应的视图。由于映射器仅在PlaceChangeEvent
被触发时被调用,所以我可以通过AppPiece.getSomeActivityInstance()
.
我很确定这会起作用,但困扰我的是
- 根据 requestPlace 查找要加载的 AppPiece 将迫使我编写与我的映射器非常相似的代码
- 我想在相应的 AppPiece 中放置我的位置
Delegate
为此目的覆盖很棘手,我正在寻找更好的解决方案
gwt - GWT 2.2 MVP 与 GWT 2.1 活动场所
我开始开发一个大型 GWT 应用程序,在阅读了很多文章和博客文章之后,我试图了解2.2 Model-View-Presenter和2.1 Activities-Places设计模式之间的区别是什么?你推荐哪种模式,为什么?我应该仅仅因为它“更新”而使用 MVP 吗?另一方面,Places-Activity 似乎更“直观”......或者我完全没有抓住重点,MVP 只是 Activities-Places 的改进版本?
感谢所有 GWT 大师 :-)
gwt - GWT MVP 模式 - 更改事件页面的不同部分
我正在使用 MVP 模式创建一个 GWT 应用程序。我有一个使用 DockLayoutPanel 的索引页。我对dockLayoutPanel 的每个部分都有视图和演示者(例如:NorthView 和NorthPresenter)。我在中心面板上有四个按钮(NorthBtn、EastBtn、WestBtn、SouthBtn)。在dockLayoutPanel 的相应部分中,UI 应更改的任何一个按钮的onClick。
入口点类:
AppController 类具有历史管理逻辑和事件处理逻辑。(来自 Google 文章- 为了处理并非特定于任何演示者而是驻留在应用程序层的逻辑,我们将介绍 AppController 组件。)
例如,在中心面板中的 EastBtn 的 onClick 我添加了一个新的历史标记“east”,并调用了 onValueChange() 方法。创建各自的演示者和视图,例如 EastView 和 EastPresenter:
- 如何使用新创建的面板更新现有的 EastPanel(因为我没有处理旧面板)?
- 如果用户在单击按钮后已将页面添加为书签,并重新访问带有书签的链接的页面,则流程将到达 onValueChange 方法并创建 EastView 和 EastPanel。但是,如何重新创建页面的其余部分并更新 EastPanel?
gwt-mvp - 您如何使用 mvp 框架在 gwt 中维护静态菜单栏
我很想知道任何知道我们如何通过将小部件放在入口点类中来保持 mvp 中的小部件静态的人。或者建议将小部件包含在 appcontroller 中。
我有一个问题,比如我想让我的菜单栏在整个页面中保持静态。为此,我遵循
- 我将创建一个 RootPanel
- 我通过添加两个面板将页面分成两部分。我想通过 goTo 将主面板发送到 Appcontroller 并根据菜单栏中的单击更改主面板。
- 在这里我很困惑,我应该在哪里添加我的菜单栏来处理它的事件。谁能帮我解决这个问题
java - 如何正确使用 ActivityMapper/ActivityManager 来定位显示在主页布局上的视图?
该应用程序尝试在主显示页面上显示其 3 个视图,如下所示:
- “页面顶部”的 AAAView
- “页面中间”的 BBBView
- “页面底部”的 CCCView
问题: 虽然应用程序运行,但它不会如上所述定位视图(即“AAAView”、“BBBView”、“CCCView”)。
(比如“AAAView”显示在“页面底部”,“BBBView”和“CCCView”显示在“页面中间”...--这是为什么?)
我认为问题是由于我误用(误解?)ActivityMapper/ActivityManager 类在主页上正确放置(或定位)视图/面板造成的。
不幸的是,我无法找到任何关于如何正确/有效地使用 ActivityMapper/ActivityManager 类的综合文档。(到目前为止,我看到的示例应用程序通常过于复杂,以至于我无法准确隔离 ActivityMapper/ActivityManager 类如何工作以指定面板/视图在主页上的显示位置)
应用程序中使用的代码如下所示...
(对我做错的任何建议或解释将不胜感激......——而且,我想我不是唯一一个在这个概念上苦苦挣扎的人)
感谢您的任何帮助!!
/src/aaa/bbb/ccc/app.gwt.xml
/src/aaa/bbb/ccc/client/AppEntryPoint
/src/aaa/bbb/ccc/client/AppEntryPoint.ui.xml
/src/aaa/bbb/ccc/client/ClientFactory.java
/src/aaa/bbb/ccc/client/AppPlaceHistoryMapper.java
/src/aaa/bbb/ccc/client/AAAView.java
/src/aaa/bbb/ccc/client/AAAView.ui.xml
/src/aaa/bbb/ccc/client/AAAActivity.java
/src/aaa/bbb/ccc/client/AAAActivityMapper.java
/src/aaa/bbb/ccc/client/AAAPlace.java
/src/aaa/bbb/ccc/client/BBBView.java
/src/aaa/bbb/ccc/client/BBBView.ui.xml
/src/aaa/bbb/ccc/client/BBBActivity.java
/src/aaa/bbb/ccc/client/BBBActivityMapper.java
/src/aaa/bbb/ccc/client/BBBPlace.java
/src/aaa/bbb/ccc/client/CCCView.java
/src/aaa/bbb/ccc/client/BBBView.ui.xml
/src/aaa/bbb/ccc/client/CCCActivity.java
/src/aaa/bbb/ccc/client/CCCActivityMapper.java
/src/aaa/bbb/ccc/client/CCCPlace.java
/src/aaa/bbb/ccc/client/app.css
/war/app.html
/war/WEB-INF/web.xml
regex - GWT:开发模式与服务器模式的行为不同
这是一个 1000 万美元的问题!我正在使用 GWT 2.1.1、MVP 框架、GIN 进行开发并在 tomcat 6 上进行部署。到目前为止从未遇到任何问题。我添加了一个正则表达式 (RE) 客户端来检查输入文本输入。好吧,RE 在开发模式下工作正常,但在 tomcat 上部署时却不行。我还尝试在开发模式下部署在 tomcat 上,并且 RE 工作正常。我只有在tomcat上部署相关的war文件时才会遇到问题。
这是代码:
任何的想法??非常感谢你。