31277


リクエストパラメータに変数の値を入れたいと思います。  
下記のコードに変数を使ってxのところに"00001"、yのところに1234が入るようにしたいです。  
どういう書き方をすればよろしいのでしょうか。  
よろしくお願いいたします。

[code]

    String userId = "00001"
    int cost = 1234;
    
    http://localhost:8080/servlet/test?userId=x&cost=y
    
[/code]


CC BY-SA 3.0
2016-12-20T17:15:04.143
31273
2016-12-24T09:11:01.947
2016-12-24T09:11:01.947
754
17348
question
java
リクエストパラメータに変数の値を入れた URL を生成したい


URL文字列に固定な部分と変数を連結すればいいと思います。  
例:  
string url = "<http://localhost:8080/servlet/test?userId=>" + userId +
"&cost=" + cost


CC BY-SA 3.0
2016-12-21T00:39:56.243
31277
2016-12-21T00:39:56.243
13152
31273
answer


＋演算子を使った方法はすでに説明されていますので別の方法を書きたいと思います。

このコードでは、[java.lang.String.format()](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#format-
java.lang.String-java.lang.Object...-)メソッドを使っています。

[code]

    String format = "http://localhost:8080/servlet/test?userId=%s&cost=%d";
    String url = String.format(format, userId, cost);//プレースフォルダに値を入れる
    
[/code]

  1. 書式指定文字列を作る。`%s`や`%d`はプレースフォルダと言い、値が入る場所になる。
  2. `String.format`メソッドの第一引数に書式指定文字列を入れる。
  3. 第二引数以降で値を入れる。


CC BY-SA 3.0
2016-12-23T06:17:01.990
31330
2016-12-23T06:17:01.990
15185
31273
answer


リクエスト URL を構築するには、[Apache URIBuilder](http://hc.apache.org/httpcomponents-
client-ga/httpclient/apidocs/org/apache/http/client/utils/URIBuilder.html)
をおすすめします。

[code]

    String url = new URIBuilder("http://localhost:8080/servlet/test")
            .setParameter("userId", userId)
            .setParameter("cost", String.valueOf(cost))
            .build().toString();
    
[/code]


CC BY-SA 3.0
2016-12-23T10:02:35.187
31336
2016-12-23T10:02:35.187
18621
31273
answer