JFileChooser всплывает в 2 раза - PullRequest
0 голосов
/ 21 декабря 2010

Это мой файл JSP.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <%
            //JFileChooser filechoose = new JFileChooser();
            JFileChooser filechoose = new JFileChooser("D:\\");
            filechoose.showOpenDialog(null);
            File file = filechoose.getSelectedFile();
            XLCauHoi.ImportXmlFileToData(file);
        %>
        <h4> Đã xuất file thành công </h4>
    </body>
</html>

Моя проблема в том, что: JFileChooser выскакивает 2 раза, когда я запускаю его в браузере.Если я запускаю его в классе Java, JFileChooser появляется 1 раз.В чем моя проблема и как ее решить?

1 Ответ

5 голосов
/ 21 декабря 2010

Здесь есть серьезное заблуждение.Во-первых, JSP / Java запускается на веб-сервере, создает пакет HTML / CSS / JS и отправляет его веб-браузеру.Webbrowser удаляет HTML / CSS / JS и интерпретирует / применяет / выполняет его.Он не запускает ни одной строки кода Java, потому что он уже был выполнен на веб-сервере.Щелкните правой кнопкой мыши страницу в веб-браузере и выберите Просмотр источника .Вы видите это?Если веб-сервер сделал свою работу правильно, вы не должны видеть там ни одной строки кода Java.Веб-браузер не понимает этого.Он понимает только HTML / CSS / JS.

Использование JFileChooser в скриптлете JSP технически «работает» только тогда, когда и веб-сервер, и веб-браузер работают физически на одной машине.Это в основном веб-сервер, который отображает диалог, а не веб-браузер.Это будет «работать» только тогда, когда вы разрабатываете локально, но никогда, когда вы публикуете сайт во всемирной паутине с помощью автономного веб-сервера.

Для загрузки файлов в формате HTML необходим элемент <input type="file">, а не JFileChooser.Для более подробной информации о том, как использовать его с JSP / Servlet, проверьте этот ответ .

Что касается конкретной проблемы, я понятия не имею, почему она появляется 2 раза, но это должно быть вашим наименьшимбеспокойство в этом конкретном случае.

...