JSP Get-Wert der Eigenschaft
Ich bin ganz neu JSPs, so brauche ich Ihre Hilfe. Google mir nicht das, was ich suchte, ich könnte nur falsch eingegeben Suchbegriff. Also bitte verzeihen Sie mir, aber ich denke es ist eine wirklich dumme Frage, aber es scheint nichts zu werden auf dem Netz über ihn.
Erstellte ich einen login-Bildschirm (funktioniert gut), und die Anmeldeinformationen werden geprüft (funktioniert einwandfrei), und der Hauptbildschirm wird ein DTO, die ausgewertet werden sollen.
Wie Sie sehen können, gibt es eine jsp:getProperty-tag, es funktioniert gut, wenn ich versuche, Zugriff auf den Parameter-Namen mit jsp:getProperty. Ich möchte einige zusätzliche Prüfungen, deshalb habe ich versucht auf die Eigenschaft innerhalb des <% %> - Abschnitt in gibt, es ist jedoch null. Gibt es eine Möglichkeit, wie man den Zugriff auf das Objekt innerhalb des <<% %> Kapitel, nachdem Sie abgerufen wurden mit einer jsp:useBean-tag?
Hier ist die Haupt-jsp-Datei:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="de.daniel.docmanager.dto.User" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<body>
<jsp:useBean id="user" class="de.daniel.docmanager.dto.User" scope="session">
</jsp:useBean>
<%
String name = user.getName();
System.out.println("name: " + name); //<= name is null
%>
Hello <jsp:getProperty property="name" name="user"/> //<= works fine
</body>
</html>
Danken Ihnen sehr für Ihre Unterstützung. Ich Schätze es wirklich tun.
- Vermeiden von Scriptlets und useBean , Gehen für EL und JSTLs !
- okay, nette Idee, aber kannst du mir einen Tipp geben? Ich möchte prüfen, ob der user-Objekt gesetzt ist, wenn nicht, will ich einen redirect auf die login-Seite. Wie würdest du es tun?
- Kann man es mit einfachen Servlet-oder auch ein Filter.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es eine schlechte Praxis zu verwenden scriptlets in JSP . Lesen Sie dieses schöne ALSO, Q&A : Wie vermeiden Sie Java-Code in JSP-Dateien? zu diesem Thema .
Kommen zurück zu Ihrem problem. Sie sind die Definition einer bean mit Standard-Aktion als :
Den
useBean
tag Aussehen wird für eine Instanz der "de.daniel.docmanager.dto.User" Klasse in dersession
. Wenn die Instanz nicht existiert, wird es erstellt eine neue Instanz von "de.daniel.docmanager.dto.User" , und steckte es in diesession
.Haben Sie zum abrufen des Objekts von der
session
Umfang :Können Sie JSTL oder einige tag-Bibliothek für diesen Zweck.