2012-11-19 7 views
5

Mam mały serwlet, który używa XSL i XML do generowania plików PDF. ponieważ chcę, aby określić pliki za pośrednictwem adresu URL Muszę dostać te parametry stamtąd:Pobieranie parametrów w adresie URL z językiem Java

localhost/Servlet?xml=c:\xml\test.xml&xsl=c:\xsl\test.xsl 

więc parametry, które muszę to

c:\xml\test.xml 
c:\xsl\test.xsl 

a te muszą być odczytywane w xml zmiennych -file i plik xsl.

mam tego, ale to naprawdę nie pomaga mi odgadnąć, ponieważ nie wiem jak zastosować wartości do zmiennych:

Map para = request.getParameterMap(); 
java.util.Iterator it = params.keySet().iterator(); 

while (it.hasNext()) 
{ 
    String key = (String) it.next(); 
    String value = ((String[]) para.get(key))[ 0 ]; 
} 

Każdy pomysł, w jaki sposób to zrobić?

Dzięki,

TheVagabond

+1

Wysyłanie ścieżek plików jako parametrów adresu URL to ** bardzo złym pomysłem z kilku powodów: 1.) daje niepotrzebne informacje o twoim systemie, 2.) często trudno jest się upewnić, że odwołują się tylko "prawidłowe" pliki, 3.) powoduje przejście do innego systemu wewnętrznie trudniejsze (ponieważ nadal będziesz musiał obsługiwać nazwy plików), 4.) Jestem pewien, że istnieje wiele innych powodów ... –

+0

Powiąże twoje wdrożenie serwletu z tym samym systemem plików, co pliki źródłowe? –

+0

Wiem, że to nie jest dobry pomysł, ale w tym szczególnym przypadku jest tak pożądany ... więc robię to :-) – Thevagabond

Odpowiedz

6

W SERVLET musi być żądanie, tak?

String xml_path = request.getParameter ("xml");

String xsl_path = request.getParameter ("xsl");

2

Co z tego?

String xsl = request.getParameter("xsl"); 
String xml = request.getParameter("xml"); 
2

Można po prostu parametry wg nazwy z HttpServletRequest.getParameter() ...

String xml-file = request.getParameter("xml"); 
String xsl-file = request.getParameter("xsl"); 
+0

- nie działa .... potrzebne do użycia _ ale inne niż to działa też – Thevagabond

3

myślę, że po prostu chcą request.getParameter(String param)

przykład

String xml = request.getParameter("xml"); 

Note (na przyszłość), że powyższe nie będzie obsługiwać wieluxml parametry. W tym celu powinieneś użyć request.getParameterValues(String param)

Jak wspomniano powyżej, prawdopodobnie nie powinieneś przekazywać nazw plików. Najpierw chciałbym przesłać plik, wygenerować plik PDF i udostępnić go (po prostu za pośrednictwem odpowiedzi lub przechowywać go lokalnie w celu wdrożenia serwletu i zwrócić identyfikator do późniejszego pobrania?)

+0

Istnieje tylko jeden parametr xml i jeden xsl – Thevagabond

Powiązane problemy