2017-02-19 12 views
3

私はSpring MVCの@RequestParamアノテーションのdocumentationを読んでいます。@RequestParam、名前と値の属性

の値はの違いは何ですか?

ドキュメントは言う:

値:名前のエイリアス()。

name:バインドするリクエストパラメータの名前。

意味は何ですか。名前の別名

はあなたが持っていると仮定します。例えば

http://localhost:8080/springmvc/hello/101?param1=10&param2=20

public String getDetails(
@RequestParam(value="param1", required=true) String param1, 
    @RequestParam(value="param2", required=false) String param2){ 
... 
} 

String param1がバインドすることを目的とする一方で、value="param1"は、バインドするリクエストパラメータの名前です。

ここではnameの属性を使用できますか?

+2

あなたはどう思います**名の別名**手段..それはかなり明白です。 –

+0

編集をご覧ください – Johan

答えて

5

両方の機能は、別の名前を付けても同じです。どちらを使用しても同じ機能が得られます。いずれかを使用することができますが、両方を使用する場合は、同じ値を使用するようにしてください。そうでなければ、例外が発生します。

あなたがこのように使用することが許可されています

@RequestParam(value="param1", required=true) 
@RequestParam(name="param1", required=true) 
@RequestParam(value="param1", required=true, name="param1") 

ではなく、この:

@RequestParam(value="param1", required=true, name="param3") 

参考:http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/RequestParam.html

関連する問題