这是我的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>
Run Code Online (Sandbox Code Playgroud)
我的问题是:JFileChooser当我在浏览器上运行时弹出2次.如果我在Java类中运行它,会JFileChooser弹出一次.我的问题是什么以及如何解决?
这里有一个重大的误解.首先,JSP/Java在Web服务器上运行,生成一堆HTML/CSS/JS并将其发送到webbrowser.Webbrowser退出HTML/CSS/JS并解释/应用/执行它.它不运行任何Java代码行,因为它已经在Web服务器上执行.右键单击webbrowser中的页面,然后选择" 查看源".你看到了吗?如果webserver完成了它的工作,你不应该在那里看到任何Java代码行.webbrowser即不理解它.它只能理解HTML/CSS/JS.
当Web服务器和webbrowser在物理上在同一台机器上运行时JFileChooser,在JSP scriptlet中使用a 技术上只会"工作".它基本上是显示对话框的Web服务器,而不是webbrowser.这只会在您进行本地开发时"起作用",但从未通过独立的Web服务器将网站发布到万维网时.
要通过HTML上传文件,您需要一个<input type="file">元素,而不是一个元素JFileChooser.有关如何将其与JSP/Servlet一起使用的更多详细信息,请查看此答案.
至于具体的问题,我不知道它为什么弹出2次,但在这种特殊情况下,这应该是你最不关心的问题.
| 归档时间: |
|
| 查看次数: |
1724 次 |
| 最近记录: |