Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从核心框架过渡_Javascript_Rest_Architecture_Frameworks_Wicket - Fatal编程技术网

Javascript 从核心框架过渡

Javascript 从核心框架过渡,javascript,rest,architecture,frameworks,wicket,Javascript,Rest,Architecture,Frameworks,Wicket,祝大家新年快乐 我是一个依赖于ApacheWicket的项目的新手,这个项目目前并不以拥有庞大的用户群而闻名。事实上,这使得我们很难找到新的人,我们希望最终过渡到一个更新的框架。不幸的是,代码库太大,无法“简单地”重写整个该死的东西 我想问的是: 有没有人有一个可行的策略来从Wicket这样的框架过渡到更“现代”的REST接口+JS Webframework方法?我认为应该可以使用Wicket必须为自己的前端公开的现有API,无论我们以后选择什么js框架来创建整个前端 有什么想法吗?我已经将一些

祝大家新年快乐

我是一个依赖于ApacheWicket的项目的新手,这个项目目前并不以拥有庞大的用户群而闻名。事实上,这使得我们很难找到新的人,我们希望最终过渡到一个更新的框架。不幸的是,代码库太大,无法“简单地”重写整个该死的东西

我想问的是: 有没有人有一个可行的策略来从Wicket这样的框架过渡到更“现代”的REST接口+JS Webframework方法?我认为应该可以使用Wicket必须为自己的前端公开的现有API,无论我们以后选择什么js框架来创建整个前端


有什么想法吗?

我已经将一些纯Javascript组件与Wicket集成在一起-您需要解决的主要问题是如何让它们对话-在Wicket中,您可以使用安装在应用程序中的RestResource来服务JSON内容

例如:

class LayoutToolRestResource() : AbstractRestResource<JacksonWebSerializer>(JacksonWebSerializer()) {
  @SpringBean
  internal lateinit var layoutObjectTreeSupplier: LayoutObjectTreeSupplier

  /**
   * Reads the tree nodes from the given data source.
   * Example: http://localhost:8080/layout-api/tree-nodes?dataSourceName=admuser1625
   */
  @MethodMapping("/tree-nodes")
  fun objectTreeNodes(@RequestParam(value = "dataSourceName") dataSourceName: String?): List<TreeNode> {
    requireNotNull(dataSourceName) { "You must select a source data-source" }
    return layoutObjectTreeSupplier.buildTreeNodeList(dataSourceName)
  }
}
在Javascript应用程序中,您引用资源以获取所需的JSON数据:

function getData(dataSourceName) {
  var contextPathField = document.getElementsByName('contextPath')[0];
  var url = contextPathField.textContent + "/layout-api/tree-nodes?dataSourceName=" + dataSourceName;
  wijmo.httpRequest(url, {
      success: function (xhr) {
        var data = JSON.parse(xhr.responseText);
        wijmoTree.itemsSource = data;
      },
      error: function (xhr) {
        // do something here
        var errorData = JSON.parse(xhr.responseText);
        alert(errorData.errorMessage);
      }
    }
  );
}
通过这种方式,您可以将使用JSON数据的应用程序(大多数web框架都这样做)与Wicket集成。您可以有使用这种方法的页面和使用“经典”方法的页面,或者在页面中使用更现代的组件来检索这样的数据


希望这能有所帮助。

我们也有同样的问题,目前还没有明确的策略。我知道有了WicketREST资源(来自wicketstuff),我们可以使用合并纯Javascript组件,但我们在迁移应用程序之前还没有明确的地图。我同意,Wicket现在看起来已经死了。这也不是Wicket的错——只是JS框架比它优越。,
function getData(dataSourceName) {
  var contextPathField = document.getElementsByName('contextPath')[0];
  var url = contextPathField.textContent + "/layout-api/tree-nodes?dataSourceName=" + dataSourceName;
  wijmo.httpRequest(url, {
      success: function (xhr) {
        var data = JSON.parse(xhr.responseText);
        wijmoTree.itemsSource = data;
      },
      error: function (xhr) {
        // do something here
        var errorData = JSON.parse(xhr.responseText);
        alert(errorData.errorMessage);
      }
    }
  );
}