我是jsp和beans的新手。我试图制作一个小bean示例但是得到一个jsp编译时错误如下:
Student.jsp:1:1: Needed class "find_record.StudentBean" is not found.
^
Student.jsp:4:34: The bean type "find_record.StudentBean" was not found.
<jsp:useBean id="findbean" class="find_record.StudentBean" scope="session" />
^-----------------------^
Student.jsp:5:23: This bean name does not exist.
<jsp:setProperty name="findbean" property="rollno" />
我有一个Student.jsp来调用StudentBean.java但是得到了那个错误 以下是代码: Student.jsp
<html>
<body >
<jsp:useBean id="findbean" class="find_record.StudentBean" scope="session" />
<jsp:setProperty name="findbean" property="rollno" />
<%
String status=findbean.findRecord();
if(status.equals("success"));
%>
<jsp:include page="Success.jsp" />
<% else %>
<jsp:include page="Error.jsp" />
</body>
</html>
StudentBean.java
//StudentBean,java
package find_record;
import java.sql.*;
public class StudentBean{
String name ,rollno,grade;
int marks;
public StudentBean(){}
public void setName(String name){
this.name=name;
}
public void setRollno(String rollno){
this.rollno=rollno;
}
public void setMarks(int marks){
this.marks=marks;
}
public void setGrade(String grade){
this.grade=grade;
}
public String getName(){
return(name);
}
public String getRollno(){
return(rollno);
}
public int getMarks(){
return(marks);
}
public String getGrade(){
return(grade);
}
public String findRecord(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","user","password");
Statement st=conn.createStatement();
ResultSet rs=st.executeQuery("Select * from student where rollno="+rollno);
int c=0;
while(rs.next()){
System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
c++;
}
if(c>0)
{
System.out.println("success");
return("success");
}
conn.close();
throw new Exception("record not found");
}catch(Exception e){
System.out.println(e.getMessage());
return("no record found");
}
}
}
答案 0 :(得分:0)
请参阅这篇文章here,其中介绍了如何创建JavaBean。您的类必须实现Serializable才能使其成为JavaBean(并且已分配serialVersionUID)。这允许bean被“展平”并在必要时重建。
如果这不能完全解决问题,请告诉我。您还需要确保通过使用servlet(或JSP页面中的scriptlet)将bean放入会话中。
上面没解决。
试试这个:
<jsp:useBean id="findbean" class="find_record.StudentBean" scope="session">
<jsp:setProperty name="findbean" property="rollno"/>
</jsp:useBean>
答案 1 :(得分:0)
我唯一可以告诉你的代码是你不应该用“;”结束IF句子,或者事件不带括号结束......你的代码就是这样,我无法运行它,但是这样我就可以试试这个:
<%
String status = findbean.findRecord();
if (status.equals("success")) {
%>
<jsp:include page="Success.jsp" />
<% } else { %>
<jsp:include page="Error.jsp" />
<% } %>
对于其他一切,你第一次做得很好。祝你好运!