GWT:开发模式的行为与服务器模式不同
这是一个价值一千万美元的问题!我正在使用 GWT 2.1.1、MVP 框架、GIN 进行开发并部署在 tomcat 6 上。 到目前为止从未遇到过任何问题。 我添加了正则表达式 (RE) 客户端来检查输入文本输入。好吧,碰巧 RE 在开发模式下工作正常,但在 tomcat 上部署时却不行。我还尝试在tomcat上以开发模式部署,RE工作正常。我只是在tomcat上部署相关的war文件时出现问题。
这是代码:
private static String VALID_INPUT_STRING = "((\\A[1-9]{1}[0-9]{0,4}\\z)|(\\A[1-9][0-9]{0,2}\\.[0-9]\\z)|(\\A0\\.[1-9]\\z))";
public boolean isValidInput(String input) {
if(
input.isEmpty() || input.matches(VALID_INPUT_STRING)
) {
return true;
}
return false;
}
if (e.getNativeKeyCode() == KeyCodes.KEY_ENTER
&& isValidInput(inputValue.getText())) {
hideInsertPopUp();
}
有什么想法吗?非常感谢。
this is a 10 million dollar question! I am developing with GWT 2.1.1, MVP framework, GIN and deploying on tomcat 6.
Never had any problem so far.
I added a regular expression (RE) client side to check an input text input. Well, it happens that the RE works fine in development mode but doesn't when deploying on tomcat. I also tried to deploy on tomcat in development mode and the RE works fine. I only have problems when deploy the related war file on tomcat.
Here's the code:
private static String VALID_INPUT_STRING = "((\\A[1-9]{1}[0-9]{0,4}\\z)|(\\A[1-9][0-9]{0,2}\\.[0-9]\\z)|(\\A0\\.[1-9]\\z))";
public boolean isValidInput(String input) {
if(
input.isEmpty() || input.matches(VALID_INPUT_STRING)
) {
return true;
}
return false;
}
if (e.getNativeKeyCode() == KeyCodes.KEY_ENTER
&& isValidInput(inputValue.getText())) {
hideInsertPopUp();
}
Any idea?? Thank you very much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我得到了它。
我使用了 String.matches 客户端。实际上,GWT 在底层使用 com.google.gwt.regexp.shared.RegExp。
com.google.gwt.regexp.shared.RegExp 不支持 \A 和 \z,因此我将其替换为 ^ 和$。现在对我来说效果很好。
I got it.
I used String.matches client side. Actually GWT uses com.google.gwt.regexp.shared.RegExp under the hood.
com.google.gwt.regexp.shared.RegExp does not support \A and \z, so I replaced those with ^ and $. That works fine for me now.