【发布时间】:2020-07-15 11:16:52
【问题描述】:
我正在使用控制器端的 servlet 和前端的 angular 创建一个 java web 应用程序。这个应用程序使用 javamail api 从电子邮件帐户(如 gmail)获取电子邮件,然后将它们作为 json 格式返回..我做了所有这些..我可以带来电子邮件消息并使用servlet以json格式返回它们,但我的问题是我无法使用角度显示它们..我试图用这个网站测试我的代码“ http://jsonplaceholder.typicode.com/users" 用 json 测试我的角度,它带来了所有数据,但是当我修改它并用我的应用程序尝试它时,它没有带来任何东西.. 这是我的应用程序中的 json 数据示例..
这就是打印这些数据的 servlet 代码:
// TODO Auto-generated method stub
doGet(request, response);
EmailAccount emailaccount= new EmailAccount("myemail@gmail.com","HardPas$$word!@");
EmailServices read = new EmailServices();
ArrayList<Email> emails = new ArrayList<Email>();
emails = read.readEmail(emailaccount);
String json = new Gson().toJson(emails.get(2));
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
}
这是用于获取 json 数据并显示它的 Angular 代码:
html
<form action="http://127.0.0.1:8080/oneBox/ReadEmail" method="POST" (submit)="onSubmit()">
<input type="submit" value="submit">
</form>
<ul >
<li>
{{users.id}}
</li>
<li>
{{users.title}} ---- {{users.from}}
</li>
<li>
{{users.to}}
</li>
</ul>
组件:
import { Component, OnInit } from '@angular/core';
import { MyServiceService } from '../../services/my-service.service';
import {EmailModel} from '../../models/user.model'
@Component({
selector: 'app-my-compo',
templateUrl: './my-compo.component.html',
styleUrls: ['./my-compo.component.css']
})
export class MyCompoComponent implements OnInit {
users:EmailModel;
constructor(public service:MyServiceService) {
}
onSubmit(){
this.service.getUsers().subscribe(
users => {this.users=users;});
}
ngOnInit(): void {
}
}
和我的服务代码:
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import {map, catchError} from "rxjs/operators";
import { Observable, throwError } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class MyServiceService {
url="http://127.0.0.1:8080/oneBox/ReadEmail";
getUsers():Observable<any>{
return this.http.get(this.url)
.pipe(map(res => res.json()));
}
constructor(public http: Http) { }
}
所以我的问题是如何从本地服务器获取这些 json 数据并使用 angular 打印出来?
【问题讨论】:
标签: java json angular servlets