通过AngularJS前端输入框获取Java中的值

时间:2016-06-28 08:57:01

标签: java angularjs rest

基本上我有一个使用AngularJS的前端和一个使用Java的后端。我需要能够通过输入框将前端的值发送到后端,以便在Java中使用。

我找到了一个基本的例子,即:

爪哇

package com.mkyong.rest;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;

@Path("/user")
public class UserService {

@POST
@Path("/add")
public Response addUser(@FormParam("name") String name,
        @FormParam("age") int age) {

    return Response.status(200)
            .entity("addUser is called, name : " + name    + ", age : " + age)
            .build();

    }
}

HTML

<html>
<body>
<h1>JAX-RS @FormQuery Testing</h1>

<form action="rest/user/add" method="post" >
<p>Name : <input type="text" name="name" /></p>
<p>Age : <input type="text" name="age" /></p>
<input type="submit" value="Add User" />
</form>

</body>
</html>

我理解@FormParam部分以及它是如何工作的但我不明白的是@Path如何工作以及@POST。这是否与表单操作相关联,是否就是这么简单还是介于两者之间?

关于这是如何工作的一般解释/如果我的断言是正确的将不胜感激。

2 个答案:

答案 0 :(得分:1)

如果您愿意,我可以从您的问题中获得更多关于@POST@PATH的内容。比@POST告诉你post, get, put, delete等请求的类型,这意味着只有当POST请求到达服务器但路径应该正确时才调用addUser方法。现在@PATH告诉您有关调用addUser方法的网址,在您的情况下,@Path("/user") public class UserService表示每当请求到达/ user时,它都会调用UserService类,如果我们在同一个方法中有多个方法像adduser,deleteuser,getuser这样的类比你需要告诉服务器哪个方法调用URL所以我们把@PATH放在方法上,我们的URL就是表单。 实施例

@POST
@Path("/add")
public Response addUser
//URL for aboue method is <baseURL>/user/add
@POST
@Path("/delete")
public Response deleteUser
//URL for above method is <baseURL>/user/delete

我希望你站在webservice中的URL映射,你需要更多关于web服务中的URL映射的研究。

关于<baseURL>也取决于web.xml配置。

答案 1 :(得分:0)

这里需要注意的事情

1)表单操作中的URL错误。它应该是/ user /添加

2)你没有任何关于角度应用程序的JS文件。

要启动应用程序,我们需要具有如下所示的内容

   var app = angular.module('app',[ 'ngRoute','ngResource']);