如何将文件夹的详细信息发送到 servlet?
How to send the details of a folder to a servlet?
我是 Java 的初学者,有人要求我构建一个文件共享动态 Web 应用程序。应用程序的流程是这样的:login > display folders > select a folder > display files in the folder along with an upload button
现在,我已经创建了我需要的 jsp 页面,我也可以登录,select 一个文件夹,可以重定向到我可以上传的另一个 jsp 页面文件。
我面临的问题是我不知道如何将文件夹的详细信息(例如单击文件夹时的文件夹名称)获取到我的 servlet 中。
这是我主页的代码
<body>
<jsp:include page="header.jsp"></jsp:include>
<%
FileSharingDAO fsObj = new FileSharingDAO();
ArrayList<FolderPOJO> folders = fsObj.getFolder();
final int COLUMNS = 3;
int rows = folders.size() / COLUMNS;
int foldercounter = 0;
%>
<table class="grid">
<%
for(int i = 0; i < rows; i++) {
%>
<tr>
<%
for(int j = 0; j < COLUMNS; j++) {
%>
<td><a href="folder.jsp"><img src="img/small-folder.png"><br><%= folders.get(foldercounter).getFoldername()%><br></a></td>
<%
foldercounter++;
}
%>
</tr>
<% } %>
</table>
<jsp:include page="footer.jsp"></jsp:include>
</body>
如何获取 servlet 的文件夹名称,以便我可以根据文件夹 ID 从文件夹中获取文件?
我明白了。我没有使用 <a href="folder.jsp">
重定向到 folder.jsp
,而是调用了一个 servlet,它又重定向到 jsp 页面。
这是更新后的 jsp 代码:
<body>
<jsp:include page="header.jsp"></jsp:include>
<%
FileSharingDAO fsObj = new FileSharingDAO();
ArrayList<FolderPOJO> folders = fsObj.getFolder();
final int COLUMNS = 3;
int rows = folders.size() / COLUMNS;
int foldercounter = 0;
%>
<table class="grid">
<%
for(int i = 0; i < rows; i++) {
%>
<tr>
<%
for(int j = 0; j < COLUMNS; j++) {
%>
<td><a href="${pageContext.request.contextPath}/HomeServlet?folderid=<%= folders.get(foldercounter).getFolderid()%>"><img src="img/small-folder.png"><br><%= folders.get(foldercounter).getFoldername()%><br></a></td>
<%
foldercounter++;
}
%>
</tr>
<% } %>
</table>
<jsp:include page="footer.jsp"></jsp:include>
</body>
这是 servlet 中的 doGet()
方法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect(request.getContextPath() + "/folder.jsp");
String folderid = request.getParameter("folderid");
System.out.println("\n\nFolder id: " + folderid); // checking if folderid is fetchable or not
}
我知道不鼓励使用 scriptlet,但目前我将使用它们完成我的 Web 应用程序,因为我必须在几天内提交它。稍后将使用 JSTL 对其进行更新,并 post 在此答案中进行更新。
我是 Java 的初学者,有人要求我构建一个文件共享动态 Web 应用程序。应用程序的流程是这样的:login > display folders > select a folder > display files in the folder along with an upload button
现在,我已经创建了我需要的 jsp 页面,我也可以登录,select 一个文件夹,可以重定向到我可以上传的另一个 jsp 页面文件。
我面临的问题是我不知道如何将文件夹的详细信息(例如单击文件夹时的文件夹名称)获取到我的 servlet 中。
这是我主页的代码
<body>
<jsp:include page="header.jsp"></jsp:include>
<%
FileSharingDAO fsObj = new FileSharingDAO();
ArrayList<FolderPOJO> folders = fsObj.getFolder();
final int COLUMNS = 3;
int rows = folders.size() / COLUMNS;
int foldercounter = 0;
%>
<table class="grid">
<%
for(int i = 0; i < rows; i++) {
%>
<tr>
<%
for(int j = 0; j < COLUMNS; j++) {
%>
<td><a href="folder.jsp"><img src="img/small-folder.png"><br><%= folders.get(foldercounter).getFoldername()%><br></a></td>
<%
foldercounter++;
}
%>
</tr>
<% } %>
</table>
<jsp:include page="footer.jsp"></jsp:include>
</body>
如何获取 servlet 的文件夹名称,以便我可以根据文件夹 ID 从文件夹中获取文件?
我明白了。我没有使用 <a href="folder.jsp">
重定向到 folder.jsp
,而是调用了一个 servlet,它又重定向到 jsp 页面。
这是更新后的 jsp 代码:
<body>
<jsp:include page="header.jsp"></jsp:include>
<%
FileSharingDAO fsObj = new FileSharingDAO();
ArrayList<FolderPOJO> folders = fsObj.getFolder();
final int COLUMNS = 3;
int rows = folders.size() / COLUMNS;
int foldercounter = 0;
%>
<table class="grid">
<%
for(int i = 0; i < rows; i++) {
%>
<tr>
<%
for(int j = 0; j < COLUMNS; j++) {
%>
<td><a href="${pageContext.request.contextPath}/HomeServlet?folderid=<%= folders.get(foldercounter).getFolderid()%>"><img src="img/small-folder.png"><br><%= folders.get(foldercounter).getFoldername()%><br></a></td>
<%
foldercounter++;
}
%>
</tr>
<% } %>
</table>
<jsp:include page="footer.jsp"></jsp:include>
</body>
这是 servlet 中的 doGet()
方法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect(request.getContextPath() + "/folder.jsp");
String folderid = request.getParameter("folderid");
System.out.println("\n\nFolder id: " + folderid); // checking if folderid is fetchable or not
}
我知道不鼓励使用 scriptlet,但目前我将使用它们完成我的 Web 应用程序,因为我必须在几天内提交它。稍后将使用 JSTL 对其进行更新,并 post 在此答案中进行更新。