2017-08-28 21 views
0

私は現在Springを学んでいますが、私は様々な例でそれにぶつかり続けていますが、見つかった説明がどこにも@RequestMapping(value = "/ delete/{id}")の{id}の意味/意味

私も

return "redirect:/delete/{id}" 

を見つけた私は、idが変数であることを理解、それは何をするのでしょう。この例http://www.javainterviewpoint.com/spring-mvc-crud-example-mysql/

コントローラ

@RequestMapping(value = "/delete/{id}") 
public ModelAndView deleteEmployee(@ModelAttribute("employee") Employee employee,@PathVariable("id") int id) 
{ 
    employeeDAO.deleteEmployee(id); 

    return new ModelAndView("redirect:/employees"); 
} 

モデル

package com.javainterviewpoint; 

import java.io.Serializable; 

public class Employee implements Serializable 
{ 
private static final long serialVersionUID = -1280037900360314186L; 

private Integer id; 
private String name; 
private Integer age; 
private String dept; 
public Employee() 
{ 
    super(); 
} 
public Employee(Integer id, String name, Integer age, String dept) 
{ 
    super(); 
    this.id = id; 
    this.name = name; 
    this.age = age; 
    this.dept = dept; 
} 
public Integer getId() 
{ 
    return id; 
} 
public void setId(Integer id) 
{ 
    this.id = id; 
} 
から撮影

@RequestMapping(value = "/delete/{id}") 

@RequestMapping(value = "/delete") 

の違いは何ですか

+2

あなたは(読む時間[リファレンスガイド]をとっているあなたは、このような何かを行うことができ、このaproachで https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestmapping-uri-templates)? –

+0

私はそれを知らなかった。ありがとうございます – Adi

答えて

3

@RequestMapping(value = "/delete/{id}")は、特定のIDを持つ従業員を削除できることを意味します。完全なリクエストは、例えば次のようになります。http://yourSite.com/delete/42 次に、には平均値変数urlの値が含まれています。@PathVariable("id") int idが表示されます。

/doSomething/{someUserName}/{someValue}/{someId} 

、あなたが持っているでしょう:

@PathVariable("someUserName") String someUserName, @PathVariable("someValue") String id, @PathVariable("id") int id 

もう一つの例:enter image description here

+0

ありがとう – Adi

3

PathVariableです。たとえば、ユーザーがいて、1人のユーザーを編集または削除する必要がある場合などに使用できます。これにより、どのユーザーをクリックしたのかを知ることができます。

詳細については、URIテンプレートパターンSpring MVC guideを参照してください。あなたが呼び出すことができる。例えば、このアプローチでは

あなたが呼び出しているURLにユーザーのIDを添付し、春にはあなたが方法deleteEmployee@PathVariable("id") int id)で定義する変数へのURLで見つかったIDをマッピングします

このURLでdeleteEmployee方法:

http://yourUrl/delete/12345

その後employeeDAO.deleteEmployee(id);コールがIDとして12345で実行されます

+1

ありがとうございます。同情の積み重ねは私に1つの答えを選択させるだけです。 – Adi