„A WEB programozása - Kidolgozott JSP feladatok - DirLister” változatai közötti eltérés
Ugrás a navigációhoz
Ugrás a kereséshez
(vitalap) (Új oldal, tartalma: „{{GlobalTemplate|Valaszthato|DirLister}} ==A DirLister feladat megoldása== Az alábbi kódot egy fejlesztőkörnyezettel generáltam (nem kicsit gyorsabb így össze…”) |
a |
||
(Egy közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
− | {{ | + | {{Vissza|A WEB programozása - Kidolgozott JSP feladatok}} |
==A DirLister feladat megoldása== | ==A DirLister feladat megoldása== | ||
103. sor: | 103. sor: | ||
-- [[FoldesAdam|Földe]] - 2007.01.23. | -- [[FoldesAdam|Földe]] - 2007.01.23. | ||
− | |||
[[Category:Valaszthato]] | [[Category:Valaszthato]] |
A lap jelenlegi, 2014. augusztus 24., 17:04-kori változata
A DirLister feladat megoldása
Az alábbi kódot egy fejlesztőkörnyezettel generáltam (nem kicsit gyorsabb így összekattintgatni, mint vizsgán mindent begépelni...), szóval ne csodálkozz, ha esetleg lesz benne néhány "felesleges" tag vagy metódus. :) A kód egyáltalán nem tartalmaz semmiféle hibakezelést: ha nem létező utat adsz meg, annak bizony NullPointerException lesz a vége. Mindazonáltal a vizsgán nem volt követelmény a hibakezelés, szóval nemigen volt kedvem ezzel foglalkozni. ;)
A JavaBean (Dirlister.java):
package webprog; import java.io.File; import java.util.Vector; public class Dirlister { /** Creates a new instance of Dirlister */ public Dirlister() { } private String thepath; // a listázni kívánt elérési út private Vector files; // itt keletkezik majd az állományok listája private Vector dirs; // itt keletkezik majd a könyvtárak listája public String getThepath() { return thepath; } public void setThepath(String thepath) { this.thepath = thepath; } public Vector getFiles() { files = new Vector(); // a JSP oldalon faszán végig lehet iterálni egy Vector struktúrán File f = new File(thepath); File[] contents = f.listFiles(); // ez a metódus - nevével ellentétben - könyvtárakat is listáz for (int i = 0; i < contents.length; i++) { if (contents[i].isFile()) { // ha állományt találtunk, akkor annak nevét hozzáadjuk a Vectorhoz files.add(contents[i].getName()); } } return files; } public void setFiles(Vector files) { return; } public Vector getDirs() { // nagyjából minden ugyanaz, mint a getFiles()... dirs = new Vector(); File f = new File(thepath); File[] contents = f.listFiles(); for (int i = 0; i < contents.length; i++) { if (!contents[i].isFile()) { dirs.add(contents[i].getName()); } } return dirs; } public void setDirs(Vector dirs) { return; } }
Az ezt felhasználó JSP oldal (dirlister.jsp):
<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Dirlister</title> </head> <body> <h1>Dirlister</h1> <form action="dirlister.jsp"> <input type="text" name="thepath" value="" /> <input type="submit" value="Mehet!" /> </form> <c:if test="${!empty param.thepath}"> <jsp:useBean id="lister" scope="page" class="webprog.Dirlister" /> <jsp:setProperty name="lister" property="thepath" value="${param.thepath}" /> <c:forEach items="${lister.dirs}" var="actelement"> <b>${actelement}</b><br/> </c:forEach> <c:forEach items="${lister.files}" var="actelement"> ${actelement}<br/> </c:forEach> </c:if> </body> </html>
-- Földe - 2007.01.23.