我是 AngularJS 和客户端的新手,我正在向使用 Struts 1.3 作为其框架的旧应用程序添加一个新页面。我想在前端使用 AngularJS。
我知道如何通过将 JSON 写入前端并返回 null
从 Action 类返回 JSON为前进的行动。但是,我不清楚在 GET 之后如何在 Controller 中填充范围变量。如果我在 Controller 中使用 GET 并返回 JSON,我的 ActionForm
会怎样?适合这一切吗?它有用吗?如果我想将新值发送回我的操作,我可以为同一个 Controller 使用 GET 和 POST 吗?而且,我可以有如下变量:
$scope.items={}
$scope.items.name=""
$scope.items.email=""
然后发送json.stringify(items)
如果我不能以某种方式使用表单,作为我在 POST 中的数据?到目前为止,我还没有找到太多使用 AngularJS 和 Struts 1.3 的信息。
编辑:
我会尽量回答我得出的结论,但我上面的问题非常模糊,因为我真的不知道我在说什么,而且我在我工作的公司的职位已经结束,所以我不再有访问该代码。我之前想问的是,我将如何处理我通常用于 Struts 操作的操作表单,以及如何在 POST 期间将数据从前端获取到我的操作类。我发现我平时的
ActionfForm
对我想做的事情毫无用处,所以我摆脱了它并在 GET 期间编写了一个 JSON 对象,该对象将在前端进行修改,并在我执行 POST 时传递回另一个操作。这就像对 whateverAction.do
的普通 POST 一样。 ,但我必须配置我在 POST 中发送的数据并将其命名。然后我通过使用拾取修改后的 JSON 对象request.getParameter("jsonObjName")
并将其解析为不同的LinkedHashMap
JSON 对象中每个对象的对象。我认为您可以使用 JSONObject
类而不是 LinkedHashMap
解析您是否使用 JavaEE 但我使用的是 SE,所以我无权访问该项目中的那些。这是我用于 POST 配置的另一个页面的链接:How to get the data in Struts from AngularJS post
最佳答案
在 Java 方面,您也可以尝试使用 Gson 库,该库允许您在 JSON 之间解析字符串,但 Struts 1 通常不适合 AngularJS,如果您在 Java 方面删除表单,那么保留没有意义支柱 1。
如果不可能删除 Struts 1,那么只保留 Struts 1 用于现有功能并开始将 Struts 2 用于应用 AngularJS 的新屏幕。
这会容易得多,因为来自 AngularJS 的 POST 的 JSON 将自动绑定(bind)到必须匹配 JSON 属性格式和名称的 bean 对象。
关于angularjs - 如何在 Struts 1.x 中使用 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306645/