AngularJS 和带有 ng-Grid 的 JAX-RS
AngularJS and JAX-RS with ng-Grid
我正在开发 AngularJS 和 JAX-RS 应用程序。(坦率地说,这两个都是新手)
在 UI 我有一个 ng-grid,每行有 3 列,第一个复选框,第二个名字,第三个年龄。
用户可以从网格中 select 行并单击 "export to excel"。
当用户点击导出到 excel 按钮
时,我将发布全部数据
@POST
@PATH("/xlsExport")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response excelExport(MultiPartFormData mfd) throws Exception {
System.out.ptrintln(mfd); // code not reaching here
}
我遇到异常 "RESTEASY003065 : Cannot Consume Contet Type"
UI 看起来像
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_JSON)
public Response excelExport(String mfd) throws Exception {
System.out.ptrintln(mfd); // code not reaching here
}
同样的错误
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response excelExport(String mfd) throws Exception {
System.out.ptrintln(mfd); // incorrect values shown
}
这没有给出错误,但也没有给出所有行,只是在 ....截至目前在字符串中
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
public Response excelExport(@FormParam("id") Sting id) throws Exception {
System.out.ptrintln(id); // Compile time error
}
同样的错误
<form novalidate name="someForm" method="POST" action="/xlsExport">
...
<div class="ngHeaderContainer">
<div> <input class="ngSelectoionHeader" .../> </div> <!-- checkbox -->
<div> Name </div>
<div> Age </div>
</div>
<input type="submit" value="Export">
</form>
如能得到帮助,将不胜感激
- 我该如何解决错误
- 这是最好的方法吗,我不能在 JSON
中消耗数据吗
为了发送 JSON(您当前正在发送 application/x-www-form-urlencoded
但谁知道普通的 HTML 数据是什么样的),您需要处理表单提交事件在您的前端应用程序中。
为此,删除 action
属性并使用 ng-submit
调用使用 $http
或类似于 post 数据的控制器函数...
<form novalidate name="someForm" ng-submit="submit()">
在你的控制器中还有类似的东西
$scope.submit = function() {
$http.post('/xlsExport', $scope.someDataModel).then(res => {
// handle the response here
});
};
我正在开发 AngularJS 和 JAX-RS 应用程序。(坦率地说,这两个都是新手)
在 UI 我有一个 ng-grid,每行有 3 列,第一个复选框,第二个名字,第三个年龄。
用户可以从网格中 select 行并单击 "export to excel"。 当用户点击导出到 excel 按钮
时,我将发布全部数据@POST
@PATH("/xlsExport")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response excelExport(MultiPartFormData mfd) throws Exception {
System.out.ptrintln(mfd); // code not reaching here
}
我遇到异常 "RESTEASY003065 : Cannot Consume Contet Type" UI 看起来像
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_JSON)
public Response excelExport(String mfd) throws Exception {
System.out.ptrintln(mfd); // code not reaching here
}
同样的错误
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response excelExport(String mfd) throws Exception {
System.out.ptrintln(mfd); // incorrect values shown
}
这没有给出错误,但也没有给出所有行,只是在 ....截至目前在字符串中
也试过
@POST
@PATH("/xlsExport")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED_TYPE)
public Response excelExport(@FormParam("id") Sting id) throws Exception {
System.out.ptrintln(id); // Compile time error
}
同样的错误
<form novalidate name="someForm" method="POST" action="/xlsExport">
...
<div class="ngHeaderContainer">
<div> <input class="ngSelectoionHeader" .../> </div> <!-- checkbox -->
<div> Name </div>
<div> Age </div>
</div>
<input type="submit" value="Export">
</form>
如能得到帮助,将不胜感激
- 我该如何解决错误
- 这是最好的方法吗,我不能在 JSON 中消耗数据吗
为了发送 JSON(您当前正在发送 application/x-www-form-urlencoded
但谁知道普通的 HTML 数据是什么样的),您需要处理表单提交事件在您的前端应用程序中。
为此,删除 action
属性并使用 ng-submit
调用使用 $http
或类似于 post 数据的控制器函数...
<form novalidate name="someForm" ng-submit="submit()">
在你的控制器中还有类似的东西
$scope.submit = function() {
$http.post('/xlsExport', $scope.someDataModel).then(res => {
// handle the response here
});
};