如果要以
data字符串形式获取,则应尝试如下操作:
import { Component, onInit } from '@angular/core';import { Http, Headers, RequestOptions } from '@angular/http';import 'rxjs/add/operator/toPromise';import { Observable } from 'rxjs/Observable';@Component({ selector: 'app-root', template: '<h1>Dukes</h1>', // templateUrl: './app.component.html', styleUrls: ['./app.component.css']})export class AppComponent implements onInit { title = 'here beta'; dukes = [{ name: "offline", age: 2 }]; data = "data="{title: 'foo',body: 'bar',userId: 1};""; headers: Headers = new Headers({ 'Content-Type': 'application/x-www-form-urlenpred' }); options: RequestOptions = new RequestOptions({ headers: this.headers }); constructor(private http: Http) { } ngonInit() { let options = new RequestOptions(); options.headers = new Headers(); options.headers.append('Content-Type', 'application/x-www-form-urlenpred'); const req = this.http.post('http://localhost:8080/SampleProject/getTutorial', this.data, options) .subscribe( res => { console.log(res); }, err => { console.log("Error occured"); } );但我认为您想通过json将它们全部设置为不同的动作属性,如果是,请定义的setter
title,
body然后
userId在您的动作中继续使用Struts JSON插件-
JSON拦截器
另一个例子
import { Component, onInit } from '@angular/core';import { Http, Headers, RequestOptions } from '@angular/http';import 'rxjs/add/operator/toPromise';import { Observable } from 'rxjs/Observable';@Component({ selector: 'app-root', template: '<h1>Dukes</h1>', // templateUrl: './app.component.html', styleUrls: ['./app.component.css']})export class AppComponent implements onInit { title = 'here beta'; dukes = [{ name: "offline", age: 2 }]; data = { "title": "foo", "body": "bar", "userId": 1 }; headers: Headers = new Headers({ 'Content-Type': 'application/json' }); options: RequestOptions = new RequestOptions({ headers: this.headers }); constructor(private http: Http) { } ngonInit() { let options = new RequestOptions(); options.headers = new Headers(); options.headers.append('Content-Type', 'application/json'); const req = this.http.post('http://localhost:8080/SampleProject/getTutorial', JSON.stringify(this.data), options) .subscribe( res => { console.log(res); }, err => { console.log("Error occured"); } ); public class SampleAction { private String title; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } private String body; public String getBody() { return body; } public void setBody(String body) { this.body= body; } private int userId; public String getUserId() { return userId; } public void setUserId(int userId) { this.userId= userId; } public int execute() { try{ actorSeqID = 3; System.out.println(data+"--"); }catch(Exception e){ e.printStackTrace(); } return actorSeqID; }<package name="default" namespace="/" extends="struts-default,json-default"> <action name="getTutorial" method="execute" > <interceptor-ref name="json"></interceptor-ref> </action></package>



