Ich verstehe wirklich nicht, warum der folgende Code in JSP läuft gut, aber wie im ersten Buch beschrieben, zeigt es Kompilierzeit Fehler.Standard Aktion
<html><body>
<jsp:useBean id="person" type="foo.Person" scope="request">
<jsp:setProperty name="person" property="name" value="Fred"/>
</jsp:useBean>
<jsp:getProperty name="person" property="name"/>
</body></html>
Der Code der Person-Klasse ist:
package foo;
public class Person extends foo.Person1
{
private String s;
public void setEmpID(String s)
{
this.s=s;
}
public String getEmpID()
{
return s;
}
}
und der Code foo.Person in Servlet-Klasse und wenn er als Attribut "Person" in Anforderungsbereich ist zu instanziiert:
Person1 p=new Person();
p.setName("Greenhorn");
request.setAttribute("person",p);
und der Code von Person1 Bean-Klasse ist:
package foo;
public abstract class Person1
{
private String s;
public void setName(String s)
{
this.s=s;
}
public String getName()
{
return s;
}
}
Warum funktioniert es? Warum zeigt es keinen Fehler? Ist das Buch falsch?
Vielen Dank im Voraus für jeden Vorschlag.
Aber in oben genannten Code hat JSP Typ Attribut mit Wert "foo.Person", aber in Servlet wird die Referenz tatsächlich als "foo.Person1 p = new foo.Person();". Also es bedeutet, es sollte falsch sein, aber es ist nicht, wenn ich es in Tomcat laufen. – Greenhorn