【问题标题】:How to use AngularJS with Struts 1.x如何在 Struts 1.x 中使用 AngularJS
【发布时间】:2015-02-03 18:58:01
【问题描述】:

我是 AngularJS 和客户端方面的新手,我正在向使用 Struts 1.3 作为其框架的旧应用程序添加一个新页面。我想在前端使用 AngularJS。

我知道如何通过将 JSON 写入前端并返回 null 来进行操作,从而从操作类返回 JSON。但是,我不清楚在 GET 之后如何在控制器中填充范围变量。如果我在控制器中使用 GET 并返回 JSON,我的 ActionForm 如何适应这一切?它有用吗?如果我想将新值发送回我的操作,我可以为同一个控制器使用 GET 和 POST 吗?而且,我可以有如下变量:

$scope.items={}
$scope.items.name=""
$scope.items.email=""

如果我不能以某种方式使用表单,那么只需在 POST 中发送 json.stringify(items) 作为我的数据?

到目前为止,我还没有找到太多关于在 Struts 1.3 中使用 AngularJS 的信息。

编辑:

我会尽量回答我得出的结论,但我上面的问题非常模糊,因为我真的不知道我在说什么,而且我在我工作的公司的职位已经结束,所以我不再有权访问该代码。我之前想问的是,我将如何处理我通常用于 Struts 操作的操作表单,以及如何在 POST 期间将数据从前端获取到我的操作类。我发现我常用的ActionfForm 对我想做的事情毫无用处,所以我摆脱了它,并在 GET 期间编写了一个 JSON 对象,该对象将在前端进行修改,并在我执行 POST 时传递回另一个操作。这就像对whateverAction.do 的普通 POST 一样,但我必须配置我在 POST 中发送的数据并为其命名。然后,我使用

获取了修改后的 JSON 对象
request.getParameter("jsonObjName") 

并将其解析为 JSON 对象中每个对象的不同 LinkedHashMap 对象。我认为你可以使用JSONObject 类而不是LinkedHashMap 来解析你是否使用JavaEE,但我使用的是SE,所以我无法访问这个项目中的那些。这是我用于 POST 配置的另一个页面的链接:

How to get the data in Struts from AngularJS post

【问题讨论】:

  • 嗨,sef9110,你是怎么做的?你能做一个更新吗? (格式化/澄清你的问题,也许想出一个答案!?)
  • 答案应该是答案,而不是问题的一部分。我还会考虑偶尔使用“返回”键,例如一个段落,以避免一堵巨大的难以辨认的文字墙。

标签: angularjs struts


【解决方案1】:

在 Java 方面,您也可以尝试使用 Gson 库,该库允许您在 JSON 之间解析字符串,但 Struts 1 通常不适合 AngularJS,如果您在 Java 方面删除表单,则不会保持 Struts 1 的意义。

如果没有可能删除 Struts 1,那么只保留 Struts 1 用于现有功能并开始将 Struts 2 用于应用 AngularJS 的新屏幕。

这会容易得多,因为来自 AngularJS 的 POST 的 JSON 将自动绑定到必须匹配 JSON 属性格式和名称的 bean 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 2017-12-15
    相关资源
    最近更新 更多