2017-05-10 19 views
1

私が書いたJavaのコントローラのメソッドは、以下のようなFile型の引数を取得します。引数がnullの場合パラメータ

@RequestMapping(value = "/user/insertUser") 
public String insertUser(@RequestParam("imageFile") CommonsMultipartFile file, 
     HttpSession session) throws Exception { 
......} 

私の問題は、JSPから送信されたFile引数がない場合、どのように処理できるかということです。 私の説明が理解できるかどうか分かりません。

+0

試してください 'required = false' –

答えて

4

あなたはnullケース処理するためにdefaultValueを設定することができます。私はあなたが

@RequestParam(value = "imageFile", required = false) 
+0

これはJavaで非常に便利な機能です! – AxelH

+0

お手伝いいただきありがとうございます。しかし、if(file.getSize()!= 0){..... –

+0

のようにファイルのヌルチェックを行わなければなりませんでした。引数が送られない場合は 'required = false'を設定するだけで、nullになります。次に、これらの検証を行うことができます。 –

0

を:

あなたが imageFileため required = falseを与える必要が
@RequestMapping(value = "/user/insertUser") 
public String insertUser(@RequestParam("imageFile") CommonsMultipartFile file, 
     HttpSession session) throws Exception { 

     if(file!=null && !file.isEmpty()) { 
      //file is uploaded successfully 
     } else { 
      //file is not uploaded 
     } 
} 
0

を行うことができ、オプションとして、次のようにあなたがそれを行うことができ、あなたがそれをしようとしていると信じて

@RequestMapping(value = "/user/insertUser") 
public String insertUser(@RequestParam(value = "imageFile", required = false, defaultValue = "/default/path/to/file") CommonsMultipartFile file, 
     HttpSession session) throws Exception { 
......} 
0

@RequestMapping(value = "/user/insertUser") 
public String insertUser(@RequestParam("imageFile", required = false) CommonsMultipartFile file,HttpSession session) throws Exception { 
......} 
0

オプションのパラメータをリクエストパラメータとして提供できるかどうかは、@RequestParamを下記のように変更するだけです。

@RequestParam(value = "imageFile", required = false) CommonsMultipartFile file 

Java 8を使用している場合は、以下も行うことができます。

@RequestParam("imageFile") Optional<CommonsMultipartFile> file 

ご質問がこれ以外の場合は、詳細をご記入ください。

0

ここでは、あなたが砂にオプションこのパラメータかどうかを持っているので、required = falseとして、このパラメータを行うことができます。あなたは、あなたがサーバー上で取得する「画像ファイル」を送信する場合、他のあなたが送信されていない、これを使用して

{ 
    @RequestMapping(value = "/user/insertUser") 
    public String insertUser(@RequestParam(value="imageFile",required=false) CommonsMultipartFile file, 
     HttpSession session) throws Exception { 
......} 
} 

「画像ファイルは、」あなたはそれがnullを取得します。

関連する問題