via Hyperlinks Attribute in einer JSP verändern

KalleM

Aktives Mitglied
Hallo,
wie ist es denn möglich, via Hyperlinks Attribute in einer Jsp zu verändern, also z.B.:
<a href="test.htm">Montag</a>
<a href="test.htm">Dienstag</a>
...
sodass zum Beispiel beim aktivieren des Links Montag Daten für den entsprechenden Montag angezeigt werden?
 

Atze

Top Contributor
wo sollen sie denn angezeigt werden? auf der gleichen jsp? oder auf ner anderen?
entweder du hast eine ensprechende jsp für den montag, auf die du dann forwardest, die halt nur die daten für montag anzeigt, oder du leitest an ein servlet weiter, das die eine jsp für die daten genriert, bzw füllt. irgendwie sind deine verweise aber links auf html seiten, oder seh ich das falsch?
 

KalleM

Aktives Mitglied
die Verweise sollen immer auf die selbe Jsp verweisen (möchte das dann noch weiter ausbauen, also Daten aus einen DB an den Client senden). Da ich mich für das Springframework entschieden habe, habe ich in der web.xml Datei unter <servlet-mapping> ein <url-pattern>*.htm</url-pattern> (hoffe ich hab` das Mapping einigermassen verstanden) und durch dieses Mapping werden die Jsp Seiten aufgerufen bzw. angezeigt.
 
Zuletzt bearbeitet:

KalleM

Aktives Mitglied
Hallo nochmal,
wenn ich mir den parameter mit:
String r = request.getParamter("x");
hole, dann erhalte ich doch immer den selben Parameter "x" (oder ist das falsch).
Da ich immer andere Daten anzeigen möchte, also Montag z.B.: den Parameter "t1" hat und Dienstag "t2" . . ., habe ich da doch ein Problem?
 

KalleM

Aktives Mitglied
habe noch eine weitere Frage. Habe mir eine Klasse Person geschrieben (zum erzeugen der Objecte), ein Interface TestDao (mit der Methode, public List<Person> selectPerson() ) und eine Klasse die das Interface implementiert. In dieser Klasse erzeuge ich dann die Personobjecte (die ich aus der Datenbank lese). In dem Controller übergebe ich dann ein ModelAndViewObject("view", "test", testDaoImpl.selectPerson.toString()). Als Ausgabe in der View erhalte ich nun [ 1 Person1, 2Person 2, . . . ].
Wie erhalte ich den eine Ausgabe wie:
1 Person1
2 Person2

Meine bisherigen Versuche mit einer ForEach-Schleife sind kläglich gescheitert.
 

Atze

Top Contributor
he? verstehe ich nicht
was ist denn das problem? du möchtest die ausgaben in einzelnen zeilen haben, anstatt in einer zeile? oder wie?
 

KalleM

Aktives Mitglied
habe jetzt eine Klasse TestDaoImpl:

Java:
public Collection<Person> selectPerson(){
String query = "SELECT * FROM person";

      return jdbcTemplate.query(query, new RowMapper(){
         public Object mapRow(ResultSet resultSet, int rowNum)
                    throws SQLException{
                return new Person(resultSet.getString("id"),
                        resultSet.getString("name"));
            }
        });
    }

und einen Controller der jetzt das Attribut "test" mit dieser Collection an die Jsp leitet:

Java:
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
           throws Exception {

return new ModelAndView("index","test", testDao1Impl.selectPerson().toString());
    }

in der Jsp habe ich dann:
Java:
<html>
    <head>
           </head>
    
    <body>
        <h1>HALLO</h1>
       ${test}
</body>
</html>

und erhalte dann halt die Ausgabe:
[1 Person1, 2 Person2 ]

nun frage ich mich, wie ich über diese Liste (Collection) in der Jsp iterieren kann, da ich die Collection<Person> in einer Tabelle ausgeben möchte (also einzelnd in einer Zeile).
 
Zuletzt bearbeitet:

Atze

Top Contributor
Java:
<c:forEach var="personName" items="${test}">
	<c:out value="${personName}"/>">	
</c:forEach>

ungefähr so :) wenn du die jstl nutzt. ansonsten ne scriptlet for-schleife über test

Java:
<%
for(String personName : test){
out.println(personName);
}
%>
 
Zuletzt bearbeitet:

KalleM

Aktives Mitglied
schnalle es einfach nicht. Muss ich den in dem "dispatcher-servlet" etwas injizieren.
Da eine Ausgabe wie:

Java:
<c:forEach var="person" items="${test}">
    <c:out value="${person.id}"/>">
    <c:out value="${person.name}"/>">

</c:forEach>

nicht klappt?
 

Atze

Top Contributor
hm, sorry, hätte schwören können Collection<String> gelesen zu haben :) *verwirrt* eigentlich sieht dein letzer code ganz ok aus

was ist denn in "test" für ne collection drin? was heißt denn die ausgabe klappt nicht?
 

KalleM

Aktives Mitglied
Hallo,
habe die Methode:

public List<Person> selectPerson();

im Interface.
Ich bekomme/erhalte ja eine Ausgabe, nur nicht so wie ich sie brauche (möchte ja auf die einzelnen Person-Objecte zugreifen und diese (in der JSP) dann in einer Tabelle) ausgeben (und zu einem späteren Zeitpunkt möchte ich über ein Form-Field neue Personen in die DB schreiben, also eine variable Anzahl von Personen).
 

KalleM

Aktives Mitglied
Hallo nochmal,
habe mein Problem, meinen Fehler endlich gefunden (Danke nochmal für deine Geduld ;) ), habe selbst auch fast die Kriese bekommen. Das Problem war, das ich nicht die richtige taglib (verstehe nicht ganz, das NetBeans nicht gemeckert hat) eingebunden hatte :oops:
 
Zuletzt bearbeitet:

Ähnliche Java Themen

Neue Themen


Oben