2016-04-29 7 views
0

Springコントローラマッピングでは、PDFファイルを生成するためにコード化しました。pdfを生成した後、別のマッピングにリダイレクトする必要があります。Spring Contrllerで新しいマッピングにPDFリダイレクト

@RequestMapping(value = "/closeJob") 
    public ModelAndView view(Model model, HttpServletRequest request,HttpServletResponse httpServletResponse) throws Exception { 
     VehicleDetails vehicleDetails = new VehicleDetails(); 
     String i = request.getParameter("jCardNo"); 
     vehicleDetails = serviceMasterDAO.getVehicle(Long.parseLong(i)); 
     serviceMasterDAO.updateStatus(vehicleDetails); 
     Map<String, Object> map = new HashMap<String, Object>(); 
     map.put("vehicleDetails",vehicleDetails); 
     PDFBuilder builder = new PDFBuilder(); 
     builder.render(map, request, httpServletResponse); 
     return new ModelAndView("redirect:/viewJobCard.htm"); 
    } 

私は、この上の解決策を教えてください...

+0

もちろんですが、最初にPDFを送ります( 'builde.render'がそれをクライアントに送ると仮定します)。その後、リダイレクトすることを期待します。リダイレクトのどちらか一方のみを送信することはできますが、両方を送信することはできません。 –

答えて

0

良い可能な解決策をhereに掲載されています。一方

response.addCookie(new Cookie("downloadToken", downloadToken)); 

、:PDFを作成する、サーバーへの最初の要求を送信すると、さらにダウンロードトークン、彼はPDFを生成した後、サーバーがレスポンスオブジェクトに追加することができ送りますクライアントはポーリングしていて、downloadTokenがサーバーによって設定されていることを確認するのを待機しています(これは、同時にサーバーがPDFの生成を完了した時点です)。その後、クライアントは新しいマッピングにリダイレクトできます。

また、最初のリクエストを送信してから数秒待ってから、クライアント側でリダイレクトを行うようにすることもできます。しかし、PDFが実際に生成される前にクライアントがリダイレクトを呼び出すことがあります。

関連する問題