GWT 通过单击按钮将数据保存在 TextBox 中

GWT save data in TextBox by clicking a Button

我有一个使用 GWT 包含文本框和按钮的简单应用程序,关键是当我在文本框中写一些东西并单击按钮时,文本框中的数据将保存在数据库中,这是我写的,但我不知道如何通过点击保存它:

    button.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {

            //method to save the data

        }
    });

您需要实现一个远程服务以供您的应用程序使用。

GWT 使用 RemoteService 来执行服务器任务。远程服务是定义远程方法的接口,它必须放在应用程序的共享 class 路径中。远程服务接口由服务器代码实现,以执行您希望它执行的实际操作。 客户端使用所谓的异步接口,它位于客户端 class 路径中,通常由 IDE 或特殊编译器目标为您生成。在 mvn 项目中,您会在 target/generated-sources 文件夹中找到它们。 那些由编译器实现并由您的代码使用 GWT.create() 实例化的异步接口。

异步接口具有与远程服务接口相同的方法,但所有方法的签名都已更改。它们没有 return 值,而是公开了一个 AsyncCallback<T> 处理程序,用于在服务器 returned 上进行远程调用后调用您的代码。 <T> 是您在服务器上的 RemoteService 接口中的方法的 return 类型。

保存数据的正确方法是让演示者 class 或 activity class 拥有异步服务实例。 activity/presenter 将从视图中获取值并将其发送到远程服务以存储到数据库中。

在您的点击处理程序中,您使用 activity 来保存数据,或者演示者将自己作为点击处理程序附加到视图。

gwtproject.org 教程部分中有大量代码示例展示了原理。

presenter/activity 中的调用将使用异步回调 class,如下所示:

backendSvc.saveData( textString, new AsyncCallback<Response>() {
     void onSuccess(Response r) {
         view.showMessage("Response saved");
     }

     void onError(Throwable caught) {
         view.showError("Ouch", caught);
     }
}

视图不应直接调用后端,如果您的应用程序增长,这会导致混乱。

我建议您查看 gwtproject 网站上的教程,真正尝试理解事件的流程。这个概念是理解 GWT 方式的基础。

请详细说明你的问题..我知道如何从文本框中保存数据库中的值,如果是的话,

  1. 从文本框中获取值
  2. 使用以下任一方法将值发送到服务器

    • RPC
    • RequestBuilder
  3. 将数据(值)推送到数据库

示例:

services.saveData(textValue, new AsyncCallback<Response>() {
     public void onSuccess(Response response) {
         showMessage("Saved Successfully");
     }

     public void onError(Throwable error) {
         showError("Failed to Save Data");
     }
};

如果您询问如何将 GWT 连接到您的服务器数据库,此 link 可能会对您有所帮助。

XML: The bridge between GWT and PHP

只需从文本框中获取输入值,然后post将其发送到您的服务器