Wie am besten Parameter transportieren?

Status
Nicht offen für weitere Antworten.

Fats

Bekanntes Mitglied
Mojn, mojn!

Es ist wie verhext: ein Problem gelöst und zack stehen 5 neue vor der Tür ;)

Ich bin grade dabei mit Parametern um mich zu schmeissen, und würde gern wissen, welche Möglichkeit die sinnvollste Lösung ist. Ich generiere mir mittels Servlet und Klassen eigene Grafiken, die ich in HTML und JSP-Seite einbinden möchte. Im Code steht einfach das image-Tag und ruft eine Bild-URL auf:

Code:
[img]/pics/pic.jpg[/img]

Diese ist mit dem Servlet verknüpft, das daraus ein Bild erzeugt und es als OutputStream zurückliefert. Anhand der an das Servlet übergebenen Parameter bestimme ich Farbe, Schriftart/größe, usw.

Bisher ziehe ich mir im Servlet die Parameter aus dem requestScope mittels

Code:
String font = request.getParameter("font");
String fontsize = request.getParameter("fontsize");

Dafür muß ich entsprechend das Image-Tag beim Aufruf mit Parametern präperieren:

Code:
[img]/pics/pic.jpg?font=arial&fontsitze=15&color=44dd11[/img]

Das geht, aber ich glaube, das ist recht unhübsch :? Was denkt ihr? Wie kann man das besser machen?

Ich vermute, wenn ich von reinen HTML-Seiten diese Bilderaufrufen möchte, hab ich kaum eine andere Chance. Aber mit JSPs gibt es ja nooch mehr Möglichkeiten ;)

Ein erster Gedanke wäre, die Parameter mittels request.setAttribute(...) hochzuschicken und dann im Servlet wieder abzufragen. Ein erster Test klappte aber nicht. Nächste Idee wäre dann auf den SessionScope oder den ApplicationScope auszuweichen. ApplicationScope ist glaub ich häßlich, da man dafür sorgen müsste, daß es kein Kuddelmuddel gibt, sobald mehere User gleichzeitig auf die Webseiten zugreifen. Da wäre die Session geeigneter ...

Aber selbst dabei stellt sich noch die Frage, wie man den Aufbau von diversen Grafiken auf einer (!) Seite koordiniert? Verteilt man dann an die Objekte einzelne IDs und ruft nur diese als Parameter im Image-Tag auf?

Im JSP
Code:
[...]
img_obj[4711].setFont("arial");
img_obj[4711].setFontSize(17);
img_obj[4711].setColor("44dd11");
session.setAttribute("Img4711",img_obj[4711]);
[...]
[img]/pics/pic.jpg?id=4711[/img]
[...]


Im Servlet
Code:
[...]
String id = request.getParameter("id");
img_obj = (MyImgObj) session.getAttribute(id);
[...]

Wäre das der bessere Weg? Oder gibt es noch was Eleganteres?

Viele Grüße
Fats
 

Terminator

Aktives Mitglied
> Das geht, aber ich glaube, das ist recht unhübsch Was denkt ihr?

Nö das passt doch.
Ist am einfachsten das als URL Parameter mitzugeben.


> Wie kann man das besser machen?

Könnte noch eigenes Tag programmieren.
<my:image src="..." fontSize="..." color="..."/>

Die Attribute auslesen und dann für URL codieren und Image Tag renderen.
Aber ob der Aufwand sich dafür lohnt, ich weiss nicht, muss man schon einiges proggen für.
 

Ralf Ueberfuhr

Bekanntes Mitglied
Das mit dem Request setzen funktioniert deshalb nicht, weil der Request ja erst beim Aufruf der Image-URL erzeugt wird. Der Request ist auf dem Server gültig von Request-Eingang bis Response-Asugang.

Anstelle des o.g. Custom Tags könntest du in JSPs auch die JSTL nutzen, schau mal unter <c:url>.

Ansonsten passt das auch so mit der URL, eine andere Möglichkeit gibt es nicht und macht auch wenig Sinn.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Wie am besten eine Authentifzierung einbauen? Allgemeines EE 7
R (JSF) Wie am besten einzelne Seiten schützen? Allgemeines EE 13
P Wie Log4J in JSP's, Beans und Servlets am besten einbinden Allgemeines EE 2
M Parameter weitergabe URL Allgemeines EE 3
G json-b + jax-rs + getter mit Parameter = NullPointerException Allgemeines EE 10
A (EJB)Session abhängige Parameter in POJO lesen Allgemeines EE 3
N JAAS login() mehrere Parameter an LoginModul übergeben Allgemeines EE 2
A JSF Parameter aus der URL auslesen Allgemeines EE 2
E JBoss, jsp und Parameter Allgemeines EE 2
S JSP Parameter mit Formular übergeben Allgemeines EE 2
P Get-Parameter auslesen Allgemeines EE 8
J parameter mit h:commandButton Allgemeines EE 5
W Übliche Art "lokale" Parameter an Servlets zu über Allgemeines EE 2
M JSF Bean-Property mit Parameter aufrufen Allgemeines EE 12
boxi JSF Parameter für die nächste seite übergeben Allgemeines EE 2
G Parameter neu einlesen Allgemeines EE 3
A Zugriff auf Parameter im Deployment Descriptor Allgemeines EE 2
J Servlet Parameter aus web.xml übergeben, wie zugreifen? Allgemeines EE 2
M Parameter an Applet übergeben Allgemeines EE 5
G JSF Parameter Allgemeines EE 4
S Parameter Übergabe an PHP mit POST Allgemeines EE 5
M Servlet - URL Parameter verändern Allgemeines EE 3
H Axis - Java2WSDL - Parameter Namen nicht mit uebernommen Allgemeines EE 2
padde479 Parameter auslesen Allgemeines EE 4
clemson [Struts] Einer Action Parameter übergeben Allgemeines EE 2
clemson [Struts] Parameter an ActionForward anhängen Allgemeines EE 3
F [tomcat] init-parameter in Context.xml Allgemeines EE 4
O URL parameter in JSF nutzen Allgemeines EE 3
M JSP Problem -unbestimmte Anzahl von Werten Transportieren Allgemeines EE 9

Ähnliche Java Themen


Oben