从spring boot模型视图对象获取值到角度JS 5

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从spring boot模型视图对象获取值到角度JS 5相关的知识,希望对你有一定的参考价值。

我正在开发一个应用程序,我们收到来自不同应用程序(带数据)的请求,我需要在我的应用程序中使用这些数据填充表单。我不使用任何数据库。

我想用angularjs使用spring boot。

这是我试过的

在我的春天控制器

@Slf4j
@CrossOrigin(origins = "*")
@RestController
public class ComplainsController {

  @CrossOrigin(origins = "*")
  @RequestMapping(value = "/aalcomplaint/api/complaint/lodge-complaint", method = {RequestMethod.GET, RequestMethod.POST})
  public ModelAndView lodgeComplaint(final HttpServletRequest request, ModelAndView modelAndView, final RedirectAttributes redirectAttributes) {
     modelAndView.addObject("policyNumber","12345");
    modelAndView.setViewName("redirect:/list-complains");
    return modelAndView;
  }

}

我的问题是如何在angularjs应用程序中获取模型视图对象?

PS:我可以获得查询参数,但是我有太多的数据,并且您可以在URL中放置的字符数量有限制。

答案

当您处理像Angular这样的客户端技术时,您的服务器端(Java)需要担心的是数据(通常是json / xml)以及我们如何在视图层中呈现它。

我们将使用spring boot来公开REST API和angular5来构建我们的客户端,这将消耗服务器公开的API。

角度服务(ComplaintService.ts):

import {Injectable} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';

const httpOptions = {
  headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};

@Injectable()
export class ComplaintService {

  constructor(private http:HttpClient) {}
  private url= '/aalcomplaint/api/complaint/lodge-complaint';

  public getLodgeComplaints() {
    return this.http.get<any[]>(this.url);
  }

}

角度组件(ComplaintComponent.ts):

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';

import { ComplaintService } from './complaint.service';

@Component({
  selector: 'complaint-selector',
  templateUrl: './complaint.html',
  styles: []
})
export class ComplaintComponent implements OnInit {

  responseData: any[];

  constructor(private router: Router, private complaintService : ComplaintService){}

  ngOnInit() {
    this.complaintService.getLodgeComplaints()
      .subscribe( data => {
        this.responseData = data;
      });
  };

}

投诉组件HTML模板(complaint.html):

<div class="col-md-6">
  <h2> Lodge Complaint Details</h2>

  <table class="table table-striped">
    <thead>
    <tr>
      <th>Policy Number</th>
    </tr>
    </thead>
    <tbody>
    <tr *ngFor="let complaint of responseData">
      <td></td>
    </tr>
    </tbody>
  </table>

</div>

Spring REST控制器:

@Slf4j
@CrossOrigin(origins = "*")
@RestController
public class ComplainsController {
  @CrossOrigin(origins = "*")
  @RequestMapping(value = "/aalcomplaint/api/complaint/lodge-complaint", method = {RequestMethod.GET, RequestMethod.POST})
  public ModelAndView lodgeComplaint(final HttpServletRequest request, ModelAndView modelAndView, final RedirectAttributes redirectAttributes) {
    modelAndView.addObject("policyNumber","12345");
    modelAndView.setViewName("redirect:/list-complains");
    return modelAndView;
  }
}

希望这可以帮助...!

更多细节在这里:https://www.devglan.com/spring-boot/spring-boot-angular-example

以上是关于从spring boot模型视图对象获取值到角度JS 5的主要内容,如果未能解决你的问题,请参考以下文章

Rails - 从模型中获取值到应用程序布局中

从 jquery 获取值到 django 视图

在 Spring Boot jpa 中将延迟加载的对象转换为 JSON

借助模型构造函数,如何在 Spring Boot 中进行查询

如何在角度js中获取路由值到控制器

从视图获取值到控制器,然后到另一个视图