0
我真的不明白爲什麼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在Servlet類和在請求範圍它設置爲屬性 「人」 是代碼:
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;
}
}
爲什麼它工作?爲什麼它沒有顯示任何錯誤?這本書是錯的嗎?
在此先感謝您的任何建議。
但在上面的代碼中,JSP的值類型爲「foo.Person」,但在servlet中,引用實際上被聲明爲「foo.Person1 p = new foo.Person();」。 所以這意味着它應該是不正確的,但它不是當我在Tomcat中運行它。 – Greenhorn 2009-06-22 05:40:41