我有一個簡單的HTML頁面,在這裏我通過兩個數值,一個名稱(String
)&夜(int
)的數量到一個jsp頁面。在那裏我使用jsp:useBean
標籤& a jsp:setProperty
標籤。當我用<jsp:getProperty name="myRes" property="name">
替換<%= myRes.getName() %>
時,它給出了一個很長的例外報告。但是當我重新加載頁面兩次時,它會提供正確的輸出。例外情況報告如下。JSP:的getProperty給「據TLD,標記JSP:的getProperty必須是空的,但不是」例外
org.apache.jasper.JasperException: /hotel_jsp_bean_one.jsp(13,30) According to TLD, tag jsp:getProperty must be empty, but is not org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:132) org.apache.jasper.compiler.Parser.parseBody(Parser.java:1631) org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002) org.apache.jasper.compiler.Parser.parseGetProperty(Parser.java:905) org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1132) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1449) org.apache.jasper.compiler.Parser.parse(Parser.java:138) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:239) org.apache.jasper.compiler.ParserController.parse(ParserController.java:102) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:197) org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) org.apache.jasper.compiler.Compiler.compile(Compiler.java:352) org.apache.jasper.compiler.Compiler.compile(Compiler.java:339) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我bean類是:
package hotel;
public class Hotel
{
private String name;
private int nights;
public Hotel()
{
this.name = "<NOT SPECIFIED>";
this.nights = -1;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public void setNights(int nights)
{
this.nights = nights;
}
public int getNights()
{
return this.nights;
}
然後我的第一個HTML頁面是:
<!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=utf-8" />
<title>Hotel Califona Reservation</title>
</head>
<body>
<h2 align="center">Welcom To The Hotel Califonia</h2>
<br/>
<br/>
<form method="post" action="hotel_jsp_bean_one.jsp">
<label>Enter your name : <input type="text" name="name"/>
<br/>
<label>How many nights : </label><select name="nights">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<br/>
<input type="submit" name="submit" value="Reserve"/>
</form>
</body>
</html>
然後我最後的JSP頁面:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!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=utf-8" />
<title>Hotel Califonia Reservation</title>
</head>
<jsp:useBean id="myRes" class="hotel.Hotel" scope="page"/>
<body>
<jsp:setProperty name="myRes" property="*"/>
<h3 style="color:#0000FF"><jsp:getProperty name="myRes" property="name"> is staying for <jsp:getProperty name="myRes" property="nights"> nights</h3>
</body>
</html>
請原諒我因爲我忽略了任何不便的錯誤。任何幫助將不勝感激。提前致謝。
thanx很多.... – Ramila
Phew!這些錯誤很難察覺。像螞蟻一樣,它們很小但是咬人 –