Я действительно не понимаю, почему следующий код в JSP работает нормально, но как описано в первой книге главы, он покажет ошибку времени компиляции.
<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>
Код класса Person:
package foo;
public class Person extends foo.Person1
{
private String s;
public void setEmpID(String s)
{
this.s=s;
}
public String getEmpID()
{
return s;
}
}
и код для создания экземпляра foo.Person в классе сервлета и установки его в качестве атрибута «Person» в области действия запроса:
Person1 p=new Person();
p.setName("Greenhorn");
request.setAttribute("person",p);
и код Person1 класс бобов:
package foo;
public abstract class Person1
{
private String s;
public void setName(String s)
{
this.s=s;
}
public String getName()
{
return s;
}
}
Почему это работает? почему это не показывает какую-либо ошибку? Книга не так?
Заранее спасибо за любые предложения.