我是JSP的新手。我創建了一個在tomcat服務器上運行的JSP文件。我在我的程序中指定了我的目錄位置。我的程序顯示該目錄中的所有文件,並將結果顯示在表中並在文件名後面創建一個刪除按鈕。我的計劃是如下(JSP文件):如何使用Servlet和JSP提取行值?
<form method="post" action='FileDisplayURL' >
<h2>Current Collection</h2>
<table width="100%" border="1">
<%
File folder = new File("C:/Apps/eclipse-jee-mars-2-win32-x86_64/eclipse");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
%>
<tr >
<%
if (listOfFiles[i].isFile()) {
%>
<td><%=listOfFiles[i].getName()%></td>
<td><input type="submit" value="delete" name="filename"></td>
<%
}
%>
</tr>
<%
}
%>
</table>
</form>
這是我的servlet:
@WebServlet("/FileDisplayURL")
public class FileDisplay extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
String deleteFileName = request.getParameter("filename");
System.out.println("you clicked on " + deleteFileName);
}
}
這是我的頭版看起來像:
我有用戶點擊刪除時獲取文件名的問題。
當我在Tomcat上運行我的程序,在終端輸出如下:
INFO: Server startup in 1076 ms
you clicked on delete
「你點擊了刪除」不顯示這是點擊文件的名稱。我對Servlet和JSP非常陌生。我可能會錯過某些明顯的東西。任何幫助,將不勝感激。
第一課:不要使用scriptlets;使用單獨的控制器並使用JSP(或另一個模板系統;我更喜歡Thymeleaf)來渲染。 – chrylis