2016-06-28 5 views
0

本来、私はフロントエンドにAngularJSを、バックエンドにJavaを使用しています。私はフロントエンドから入力ボックスを介してバックエンドに値を送ってJavaで利用できるようにする必要があります。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の仕組みこれはフォームアクションにリンクされていますか?それは簡単なのでしょうか、その間に何かステップがありますか?

私の主張が正しければ、これがどのように機能するかについての一般的な説明が理解できます。

答えて

1

あなたの質問から得たものは、@POST@PATHの場合はさらに詳しくしたいと思います。 @POSTより、post, get, put, deleteのようなリクエストのタイプを教えてくれます。これは、POSTリクエストがサーバーに来ても、パスが正しくなければaddUserメソッドを呼び出すことを意味します。今度は@PATHaddUserメソッドを呼び出すURLを教えてくれます。あなたのケースでは、@Path("/user") public class UserServiceは/ userにリクエストが来るたびに、UserServiceクラスを呼び出します。さらに、adduser、deleteuser、getuserなどの複数のメソッドが必要な場合私たちは@PATHをメソッドに入れ、私たちのURLはフォームです。 例私はあなたがスタンドの下にWebサービスで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 

、WebサービスでURLマッピングの詳細調査が必要。

についてについては、web.xml設定に依存しています。

+0

おかげで、以下に示すように、我々は何かを持っている必要があり、アプリケーションを起動するには、これはあなたを助けるために喜んでたくさん – TheLimeTrees

+0

に役立ちます。 –

0

ここに記載する事項のいくつか

1)フォームアクションのURLが間違っています。それはあなたが、角度のアプリケーションについて言及している任意のJSファイルを持っていけない)

2にを追加/ /ユーザーでなければなりません。

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

URLは 'web.xml'設定にも依存しますが、web.xmlファイルを見るまでは間違っているとは言えません。あなたの2番目のポイントはvalideですが、彼は@PATHと@POTにもっと入力したいと思っています。 –

関連する問題