3

Generate PDF/Generate Excel送信ボタンをクリックすると、サーブレットFileUploadに処理を要求しています.今、私が押した送信ボタンの値を取得しようとすると、nullとして値が返されます.なぜそれが起こっているのですか?

ここに私のHTMLコードがあります:

<form action="FileUpload" method="post" enctype="multipart/form-data">
<input type="file" id="filename" name="filename"><br>
<input type="button" value="Upload"><br>
<input type="submit"  value= "Generate PDF" name="pdf">
<input type = "submit" value="Generate Excel" name="xls">
</form>

これは私のサーブレットコードです:

String generatePDF= request.getParameter("pdf");//null
if(generatePDF.equals("Generate PDF"))//Giving NullPointerException at this step
{
  System.out.println("generatePDF button pressed");
}
4

5 に答える 5

0

最初に null をテストするようにコードを変更する必要があります。これにより、後で不要なエラーが防止されます。送信されたリクエストを調べて、内容を確認してください。Firefox には、送信前にリクエストをキャッチして編集できるタンパー データと呼ばれるプラグインがあります。探せば他にもあると思います。

これにより、送信直前のデータを確認できます。サーバーに到達するまでに、いくつかのステップを経ていることを忘れないでください。また、リクエストの状態やパラメーター名などをログに記録するためのフィルターを用意することも検討してください。これは、最初の開発時に役立ち、後でビジネス コードに干渉することなく簡単に削除できます。

于 2013-04-13T22:00:46.190 に答える
0

サーブレット コードの変更

String generatePDF= request.getParameter("pdf");

String generatePDF= request.getParameter("filename");

理由: 入力タイプの属性名は getParameter Value になります

`String generatePDF= request.getParameter("filename");
if(generatePDF.equals("Generate PDF")
{
 System.out.println("generatePDF button pressed");
}`
于 2013-04-14T17:01:04.137 に答える