Hirdetés
Új hozzászólás Aktív témák
-
updog
őstag
Sziasztok!
JSF-ből szeretnék egy galériát, ami egy külső fix helyen lévő path-ból olvassa fel a képeket.
A Tomcat server.xml-ébe beraktam ezt a sort:
<Context docBase="/kepek/helye" path="/static/img" />Ez eddig rendben is van, ha graphicImage tag-be kézzel beleteszem egy kép fájlnevét, akkor megjelenik egy kép:
<h:graphicImage value="/static/img/sas.jpg"></h:graphicImage>Viszont, ugye a galériát úgy szeretném, hogy az összes fájlnevet felolvasom egy listába egy beanben, és nyilván dinamikusan generálnám a graphicImage-ket.
Ahhoz hogy felolvassam a fájllistát, valahogy meg kéne a Java kódban találnom a "/static/img" valódi helyét, de tökre nem triviális, ahogy az sem, hogy mit keressek googleban. Nyilván favágó módszer hogy Javaba is szúrok egy ilyet:
File imgFolder = new File("/kepek/helye");
images = new ArrayList<>(Arrays.asList(imgFolder.list()));Ebből némi fájlnév hákolással gondolom kijöhet a dolog. Csak ez nem tűnik túl elegánsnak
, másrészt egyelőre ez sem működik, attól hogy sikerült összekalapálnom hogy működjön
Ha valaki tud segíteni, megköszönöm.
-
updog
őstag
válasz
Aethelstone
#9825
üzenetére
Köszi mindenkinek a válaszokat!
A lényeg ugye az lenne, hogy az applikációtól független path-on elérhető képeket rakjak ki (tehát pl. ide a relative path nem igazán értelmezhető).
Az most mindegy, hogy honnan szedem a fájlok elérési útjait, a problémám konkrétan az, hogy azok most is jók (külön beírva akár böngészőbe ezeket, megjelennek a képek, míg az oldalon beágyazva ugyanezzel az elérési úttal nem). Először ezt a bagatellnek tűnő hibát próbálom megoldani.
Nyilván tök ugyanezzel a kóddal - ha a webapp saját folderébe teszem a képeket és így relatív pathszal hivatkozok rájuk, megjelennek, tehát nem a megjelenítő kóddal lesz a baj.
-
updog
őstag
Sziasztok!
Egy egyszerű, Tomcaten futó Java EE webappban akarok egy galériát létrehozni (szóljatok ha már rosszul indultam el).
Simán egy külső folderből akarom felolvasni a képfájlokat, és kirakni az oldalra.
Hogyan tudom ezt transzparensen csinálni? (tehát hogy ne C:\Temp\images-t kelljen mondjuk a graphicImage-nél használnom, vagy legalábbis a kódban ne így jelenjen meg?
Amire most én gondoltam, nagyon naiv próbálkozás, de legalább nem is működik

File f = new File("C:\\Temp\\images");
images = new ArrayList<>();//a view Bean változója, String ArrayList
for (File img : f.listFiles()) {
images.add(img.getAbsolutePath());
}<h:form>
<c:forEach var="item" items="#{imagesView.images}">
<h:graphicImage value="#{item}" cache="false" />
</c:forEach>
</h:form>A kódban szépen látszanak a képek elérési útjai, csak "simán" kimásolva és azt beillesztve a címsorba meg is jelennek, de magán az oldalon viszont nem jelennek meg a képek. És gondolom ennél rondább és amatőrebb módja nem is lenne ennek. google-ba beüthető kulcsszavakat is megköszönök a "gondold át hogy mit műveltél" kommentek mellé

Pl egy generált kóddarab:
<img src="C:\Temp\images\DSC_0020_th.jpg" />
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- plevips: Sorozatkövető v 1.1
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Fejhallgató erősítő és DAC topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- OLED TV topic
- Parfüm topik
- One mobilszolgáltatások
- Kerékpárosok, bringások ide!
- Videó stream letöltése
- AliExpress tapasztalatok
- További aktív témák...
- ZBook Power 15 G8 15.6" FHD IPS i7-11850H RTX A2000 32GB 512GB NVMe IR kam gar
- MSI Thin GF63 - 15.6"FHD IPS 144Hz - i5-12450H - 8GB - 512GB - RTX 3050 4GB - Win11 - Gari - MAGYAR
- MikroTik RB4011iGS+RM router 10 db Gb ethernet porttal eladó!
- ZBook Firefly 16 G11 16" FHD+ IPS érintő Ultra 7 155H RTX A500 32GB 1TB NVMe ujjlolv IR kam gar
- Eladó iMac Pro (2017) 27 CTO 8-core Xeon, 64GB RAM, 1TB SSD-Magic Keyboard+M.Mouse 2+M.Trackpad
- Samsung Galaxy S22 / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Gigabyte Aorus 16X QHD 165Hz G-Sync i9-14900HX 24mag 16GB 1TB Nvidia RTX4070 8GB 140W Win11 Garancia
- AKCIÓ! Dell Latitude 3430 üzleti notebook - i5 1235U 8GB DDR4 512GB SSD Intel Iris Xe WIN11
- 154 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Bomba ár! Lenovo ThinkPad X280 - i7-8550U I 16GB I 512SSD I 12,5" I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



