6

javax.servlet.http.HttpServletRequestJAX-RS を使用して Java Web サービスで処理されるコードで使用される値を渡すHTTP 要求があります。Java の POST 関数は を消費していますapplication/json。リクエストに渡される可能性のある値は 2 つあります。 oneXと otherYを呼び出します。両方とも文字列であると仮定します。リクエストでは、2 つの可能な値のうち少なくとも1 つが「有効」と見なされる必要があります。

リクエストが届いたときに、Xが提供さYれ、リクエストから完全に除外されている場合、そこにあるかどうかを確認する適切な方法は何Yですか? かどうかを確認しますY.isEmpty()Y == null? 提供Xは存在を保証するものではなくY、その逆も同様です。

4

2 に答える 2

14

このようにパラメータを一切指定しないと、

http://example.com/context/servlet?x=foo

その後、次のように返されnullます。

String x = request.getParameter("x"); // "foo"
String y = request.getParameter("y"); // null

パラメータが指定されているが、そのような値がない場合、

http://example.com/context/servlet?x=foo&y

空の文字列を返します。

String x = request.getParameter("x"); // "foo"
String y = request.getParameter("y"); // ""

理にかなっていますよね?

于 2013-02-22T16:15:59.260 に答える
1

パラメータがリクエストに存在するかどうかをテストします

httpServletRequest.getParameter( "Y" ) == null

次のコードは、パラメーターの値が存在するかどうかをテストします。

if ( httpServletRequest.getParameter( "Y" ) != null )
{
    String value = httpServletRequest.getParameter( "Y" );

    // Put your test code here.  Include a empty value check
}
于 2013-02-22T16:13:36.870 に答える