Lassen Sie mich zu Beginn sagen, dass ich Java-Web-Apps völlig neu bin. Es tut mir leid, wenn das eine sehr grundlegende Frage ist.Wie schließe ich JSP-Seiten in eine Java-Webanwendung ein, ohne Code zu duplizieren?
Ich schreibe eine App, mit der Benutzer sich in ein Konto einloggen können. Der obere Teil jeder Seite eine Infoleiste enthält (eine Art, wie die oberen Leiste in GMail) mit so etwas wie:
Logged in as <userid> | Settings | Help
Da dieser Teil auf jeder Seite sein wird, es macht Sinn für mich zu teilen, dass Funktionalität aus, damit ich meinen Code nicht vervielfältige.
Ich habe einige der Suche und fand, dass ich diese verwenden:
<jsp:include page="userInfoBar.jsp" flush="true" />
in der Mitte eines anderen JSP. Ich habe Probleme mit meiner Seite userSettings.jsp bekommen, die auch einige Benutzerdetails aus der Datenbank enthält. Ich kopiere nicht nur irgendeinen Code zwischen den beiden JSPs, sondern ich habe das Gefühl, dass ich die doppelte Arbeit während des Renderns der Webseite mache.
Zum Beispiel (Pseudo-Code):
userInfoBar.jsp:
user = getCurrentUser
if (user) {
print Logged in as user.userid | Settings | Help
}
userSettings.jsp:
<jsp:include page="userInfoBar.jsp" flush="true" />
user = getCurrentUser
Change settings for user.userid
So in diesem kleinen Beispiel GetCurrentUser zweimal aufgerufen wird (ich glaube, es sei denn, Java irgendwie optimiert, dass).
Wie kann ich diese Doppelarbeit vermeiden, aber die userInfoBar trotzdem etwas von jeder JSP getrennt halten?
Vielen Dank im Voraus!
Brian
Cool - Ich bin vertraut mit MVC wegen Ruby on Rails und Django - ich war einfach nicht sicher, wie man das in Java machen kann. Ich schaue es jetzt :) – BrianH
Lesen auf JSTL - das sieht aus wie der Weg zu gehen. Sieht ganz anders aus, also werde ich das für eine Weile studieren. Vielen Dank für die Hilfe! – BrianH