2008-09-15 26 views
3

Gibt es eine Möglichkeit zur Teilstring in JSP-Dateien mit struts2 Technologien? Ich meine, struts2 hat eine eigene Taglib und verwendet auch ognl. Wie kann ich einen Teilstring von einem gestapelten Wert oder Bean-Wert erhalten?Wie Teilstring in Jsp?

Antwort

0

Watch in bestimmten Situationen für die Funktionsbibliothek, vor allem, wenn Websphere einzusetzen! Die Firma, für die ich arbeite, stellt Websphere 6.0 Version 11 bereit, die die Funktionsbibliothek nicht ordnungsgemäß unterstützt (sie funktioniert nicht ordnungsgemäß, wenn sie in einem Tag-Body platziert wird). Ich erinnere mich irgendwo daran, dass sie es in Version 13 behoben haben. Sie können jedoch immer ein eigenes JSP-Tag erstellen, um etwas zu tun, also können Sie das tun, um das Problem zu umgehen.

1

Nicht.

Wenn Sie Daten (Teilzeichenfolge) in Ihrer JSP analysieren müssen, dann mischen Sie wahrscheinlich Geschäftslogik (wie es funktioniert) mit Ihrer Präsentationslogik (wie es angezeigt wird) - sie sollten getrennt sein. Wenn Sie in Ihren JSPs viele Bedingungen, Berechnungen, Parsing usw. durchführen, dann erzeugen Sie eine Menge (zukünftiger) Schmerzen für sich.

Stattdessen trennen Sie diese Bedenken - machen Sie die JSP dead einfach, mit keiner Logik außer der Anzeige von Daten, wie es ist oder nicht, plus einfache Schleifen, wo erforderlich. Fügen Sie die gesamte nichttriviale Logik in eine Java-Klasse ein, die die Daten in die JSP überträgt, wo Sie die volle Leistungsfähigkeit von Java zur Verfügung haben. So viel wie Sie können, machen Sie die JSPs nur eine dünne "Haut" über Ihre Java-basierte Anwendung.

Eine ausführliche Diskussion finden Sie in Terence Parrs Whitepaper unter http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf. Sparen Sie sich viel Herzschmerz und Wartung.

+2

Hilfreiche Tipps im Allgemeinen, aber nicht die Frage beantworten. Zu sagen, dass es 0 Fälle gibt, in denen dies nützlich ist, ist ein bisschen extrem. – demongolem

0
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX) 

zum Beispiel, wenn Sie die ersten 3 Zeichen einer Zeichenfolge erhalten möchten, können Sie dies tun:

${fn:substring('scrooge', -1, 3)} 

hier ist der XML-Namespace Sie verwenden können, sollte es die gleiche Adresse sein für ein <% enthalten%> Anweisung

xmlns:fn="http://java.sun.com/jsp/jstl/functions" 
1

Struts2 verwendet OGNL. Das heißt, Sie können Objektmethoden direkt in S2-Tags aufrufen.

Wie so:

<s:property value="str.substring(0, 5)"/>