So drucken Sie session-Attribute in jsp (struts)
Hier ist was ich habe:
Java-Klasse (Benutzer hinzufügen):
public String addUser() throws NoSuchAlgorithmException {
HttpSession currentSession = request.getSession();
User u = new User();
u.setUname(getUserName());
u.setPassword(StringHash(getUserPass()));
u.setUtype(getUserType());
plResponse = iUserDAO.addUser(u);
setActionMessage(plResponse.getMessage());
currentSession.setAttribute("actionMessage", this.actionMessage);
return SUCCESS;
}
Java-Klasse (hinzufügen Vereine):
public String saveAssoc() throws Exception {
HttpSession currentSession = request.getSession();
try {
plResponse = iUserDAO.saveUserAssoc(currentSession.getAttribute("selectedUser").toString(), countryId, langId);
refreshUserAssociations();
setActionMessage(plResponse.getMessage());
currentSession.setAttribute("actionMessage", this.actionMessage);
}
catch (Exception e) {
throw new Exception(e.getMessage());
}
return SUCCESS;
}
JSP (für beide Fälle der gleiche):
<s:if test="actionMessage != null && actionMessage != ''">
<div class="successMessage">
<br/><s:property value="actionMessage"/>
</div>
<br />
</s:if>
Ich habe zwei Fällen der Weitergabe der return-Nachricht an die Seite. Nach dem hinzufügen eines Benutzers, und nach hinzufügen von Benutzer-Verbände. In beiden Fällen ist der parameter ordnungsgemäß weitergeleitet zu session (ich debuged der code), aber es wird angezeigt, nur im ersten Fall (Benutzer hinzufügen). Der zweite Fall, der vorgibt, wie es keine actionMessage in der Sitzung.
Was kann der Grund sein?
InformationsquelleAutor user3798114 | 2014-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wirklich weder ersten noch zweiten Fall wird eine Meldung angezeigt, aus der Sitzung. Es sieht eine variable in den Wert-stack. Im ersten Fall haben Sie die action-Eigenschaft getter, die einen Wert zurückgibt. Es konnte nicht der gleiche Wert im zweiten Fall. Der richtige Weg, um eine Sitzung in Aktion-Klasse zu implementieren
SessionAware
dass spritzt überservletConfig
interceptor eine Sitzung ansehen, um das action-bean-Eigenschaft. Verwenden Sie dann, dass die Karte statt der http-Sitzung. Sehen Wie bekommen wir Zugriff auf die session.In der JSP können Sie auf das session-Objekt aus dem Kontext.
ja, ich war gerade das Lesen einige docs. Tut
HttpSession
haben eineput
Methode? Ich glaube nicht, dass dem so ist, kannputValue
? Veraltet.InformationsquelleAutor Roman C
Zugriff auf das Attribut in der session gespeichert, verwenden Sie den folgenden code:
Überprüfen Zugriff auf Gültigkeitsbereich der Objekte im property-tag Seite, um zu sehen, einige weitere details.
InformationsquelleAutor Gas