2012-04-10 10 views
0

私のコントローラにあるメソッドへの呼び出しを実装する必要があります。しかし、私はこのメソッドをスクリプトレットから呼びたいので、それをどうやって行うのか分かりません。私は、サーバーからCSVにデータをエクスポートしようとしています。Springのスクリプトレットからコントローラメソッドを呼び出すことは可能ですか?

これは私がこれまでしているスクリプトレットです:

<% 
String csvDataIn = request.getParameter("exportCSVParam"); 
String csvFileName = request.getParameter("exportCSVFileName"); 
if (csvFileName == null || csvFileName == "") csvFileName = "export.csv"; 

String strHeader = "attachment; filename=" + csvFileName; 
String contentType = "application/octet-stream"; 
response.setContentType(contentType); 
response.addHeader("content-disposition",strHeader); 

ServletOutputStream ostr = response.getOutputStream();  
String data=csvDataIn;//DATA GOES HERE; 
ostr.write(data.getBytes("ISO-8859-1")); 
ostr.flush(); 
ostr.close(); 
%> 

は私がして印刷するCSVデータを文字列で返します。私は私のコントローラを持っている方法getDataAsCsv()を呼び出したいと仮定そのファイル。このjspにパラメータを送信しないので、1行目と2行目(csvDataIncsvFileName)を削除する必要があります。どうやってやるの?コントローラビーンをこのスクリプトレットとどのようにバインドしますか?

私は春には新しく、これについてはまだ学んでいます。おそらく解決策は非常にシンプルですが、私はこれに固執しています。

答えて

2

することはできませんので、できません。このコードはすべてコントローラーに入れなければなりません。

(技術的に、あなたはJSTLの機能を持っており、それを呼び出す、または単に静的メソッドを呼び出す、あるいはWebApplicationContextUtils.getRequiredWebApplicationContext(..).getBean(..)とコントローラを得るが、これらすべてが醜いとなりますことができます)

+0

私はあなたのポイントを理解し、しかし:私はたとえば、次のように使用できます。しかし、私はこの方法を試して、私はPRepositotyに連絡することができましたが、BeanはSpringと正しく配線されていませんでした。だから、私は春にjspを配線する必要があると思いますか?またはこのJSPページだけのコントローラを作成します。したがって、このページが呼び出されるたびに、このcontrolleRによって制御されます。あなたは春にそれをどのようにしていますか?私は少し失われていると思う:S – Juano7894

+0

はい、コントローラを作ってください。 JSPでJavaコードを記述しないでください。春のサンプルアプリケーションをチェックして、正しく実行されているか確認できます – Bozho

+0

ありがとう...私はすでにそれを作っています! :D – Juano7894

関連する問題