jsp中使用<jsp:setProperty />向javabean中设值为什么javabean不能调用啊?
jsp代码:
<%@page contentType= "text/html "%>
<%@page pageEncoding= "UTF-8 "%>
<jsp:useBean class= "pack.MyBean " scope= "session " id= "tt "/>
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=UTF-8 ">
<title> JSP Page </title>
</head>
<body>
<jsp:setProperty name= "tt " property= "bookid " value= "1 "/>
<jsp:getProperty name= "tt " property= "bookid "/>
<jsp:getProperty name= "tt " property= "desc "/>
</body>
</html>
javabean代码:
package pack;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MyBean extends Object implements Serializable {
private String desc;
public String getDesc() {
return this.desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public int bookid;
public int getBookid() {
return this.bookid;
}
public void setBookid(int bookid) {
this.bookid = bookid;
}
public MyBean() {
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
Connection conn=DriverManager.getConnection( "jdbc:odbc:bookdb ", " ", " ");
Statement st=conn.createStatement();
ResultSet rst=st.executeQuery( "select * from book where bookId= ' "+bookid+ " ' ");
if(rst.next()){
desc=rst.getString( "description ");
}
conn.close();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
那里错 了 啊?请高手指教啊!
[解决办法]
ResultSet rst=st.executeQuery( "select * from book where bookId= ' "+bookid+ " ' ");
这个是在构造函数里面
在setPeoperty 之前 就被调用了
当然没有值啊
[解决办法]
同意楼上~~~~
你要不就再写一个方法用来取得desc,再jsp:setProperty赋值后,再调用这个方法~~~就可以取得了~~~
public void MyBean() {
try {
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
Connection conn=DriverManager.getConnection( "jdbc:odbc:bookdb ", " ", " ");
Statement st=conn.createStatement();
ResultSet rst=st.executeQuery( "select * from book where bookId= ' "+bookid+ " ' ");
if(rst.next()){
desc=rst.getString( "description ");
}
conn.close();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
<jsp:setProperty name= "tt " property= "bookid " value= "1 "/>
<% tt.MyBean(); %>
<jsp:getProperty name= "tt " property= "desc "/>