首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT中的String.indexOf(字符串% s)在部署到tomcat服务器时失败

GWT中的String.indexOf(字符串% s)在部署到tomcat服务器时失败
EN

Stack Overflow用户
提问于 2010-10-20 14:04:56
回答 3查看 541关注 0票数 0

在tomcat服务器上运行我的GWT2应用程序时,我似乎遇到了String.indexOf(String s)/String.lastIndexOf(String s)的问题。

以下代码位于Presenter (客户端)中。它在通过GWT Eclipse插件运行时工作得很好,但在将应用程序部署到tomcat6服务器上时会返回"“。

代码语言:javascript
复制
int start = message.indexOf("<pre>")+5;
int end = message.lastIndexOf("</pre>");  
return message.substring(start, end);

如果我只执行message.substring(5,15),它会正确返回,但对于我想要做的事情来说,这还不够动态。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-21 08:40:05

事实证明,问题根本不是String的问题。

由于'message‘是:

代码语言:javascript
复制
SubmitCompleteEvent event;
message = event.getResults();

消息依赖于服务器的类型: Tomcat或Jetty (通过Eclipse插件) Tomcat在其servlet响应中不使用<pre>标记。

我很抱歉没能早点给你这些宝贵的信息。

票数 1
EN

Stack Overflow用户

发布于 2010-10-20 14:31:20

我不认为webserver的改变应该影响客户端代码,因为GWT代码翻译成的是javascript。我能想到的一个场景是,你正在动态地填充'pre‘,在它被设置之前,你正在尝试获取它的内容。由于托管模式运行速度较慢,因此在将代码转换为javascript并直接运行到浏览器中时,这种方式可能会失败

如果上述情况属实,您可以尝试在计时器中运行'substring‘代码,该计时器计划在几个毫秒之后运行。

顺便说一句,如果您需要HTML标记中的文本,您可以使用DOM.getInnerHTMLDOM.getInnerText

票数 1
EN

Stack Overflow用户

发布于 2010-10-20 17:34:42

从GWT站点:

GWT您将花费大部分开发时间在开发模式下运行您的应用程序,这意味着您正在与您的

应用程序交互,而无需将其转换为JavaScript。

这意味着一些行为可以(will?)从托管模式切换到生产模式时更改。特别是在处理RegEx时,您可能会遇到不同之处。下面是一个示例:http://code.google.com/p/google-web-toolkit/issues/detail?id=3071

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3975138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档