从JSP中的java类调用函数
我有一个称为ManagerBook.java的无状态会话java类,其中我有以下方法:从JSP中的java类调用函数,java,mysql,jsp,Java,Mysql,Jsp,我有一个称为ManagerBook.java的无状态会话java类,其中我有以下方法: public int findBook(int isbn) throws SQLException, ClassNotFoundException{ Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); String find = "SELECT *
public int findBook(int isbn) throws SQLException, ClassNotFoundException{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url, user, password);
String find = "SELECT * from book WHERE isbn = ?";
PreparedStatement stt = con.prepareStatement(find);
stt.setInt(1, isbn);
ResultSet rs = stt.executeQuery();
int found = 0;
if (rs.next()) {
int isbn1 = rs.getInt("isbn");
String title = rs.getString("title");
Book b1 = new Book();
b1.setIsbn(isbn1);
b1.setTitle(title);
found = 1;
}
con.close();
stt.close();
rs.close();
return found;
}
更新1-Book.java类
package book;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Book {
private int isbn;
private String title;
@Id
public int getIsbn() {
return isbn;
}
public void setIsbn(int isbn) {
this.isbn = isbn;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
接下来,在我的JSP页面中,我想检索我在输入字段中输入的isbn号的数据。它应该根据ManagerBook.java类中的sql查询向我显示isbn和其他详细信息。当我点击submit按钮时,它会显示ISBN和带有我在输入字段中输入的ISBN编号的书籍的标题。请帮忙。如何在JSP中获取ISBN和磁贴?谢谢
find.jsp
<%@page import="java.util.*, book.*" %>
<jsp:useBean id = "bm" class="book.ManagerBook" scope = "session"/>
<%
int success = 0;
Boolean submitted = Boolean.parseBoolean(request.getParameter("submitted"));
if(submitted){
int isbn = Integer.parseInt(request.getParameter("isbn"));
success = bm.findBook(isbn);
}
%>
<h1> Welcome to ABC Library</h1>
<form>
<table>
<tr>
<td> Enter Details </td>
<td><input type="text" name="isbn"></td>
<td><input type="submit" name="find" value="find"></td>
</tr>
</table>
<input type="hidden" name="submitted" value="true">
</form>
<%
if((success == 1) && (submitted)){%>
<table>
<tr>
<td colspan=2>
<h2>Book Found</h2>
</td>
</tr>
<tr>
<td><h3>ISBN</h3></td>
<td><h3>Title</h3></td>
</tr>
<tr>
<td><%=b1.getIsbn%></td>
<td><%=b1.getTitle() %></td>
</tr>
</table>
<%} else if (submitted){ %>
<h3> Book Not Found</h3>
<% } %>
欢迎来到ABC图书馆
输入详细信息
找到的书
ISBN
标题
找不到书
更新3-错误在此处
<tr>
<td><%=b1.getIsbn%></td>
<td><%=b1.getTitle() %></td>
</tr>
</table>
<%} else if (submitted){ %>
<h3> Book Not Found</h3>
<% } %>
找不到书
在表单中,将操作指定为jsp本身
<form action="find.jsp" method="GET">
因此,无论何时提交表单,它都会将表单重定向到同一个jsp。
在请求对象中,将出现isbn编号,该编号将传递给java类中定义的函数
要获取isbn编号和书名,请使用
<%if((success == 1) && (submitted)){%>
Book Found
ISBN Number=<%=request.getparameter("isbn")%>
Book Name=<%=bm.getBookName()%><!-- getBookName() method in ManagerBook -->
<%}
else
{
%>
Book Not found
<%}%>
找到的书
国际书号=
书名=
找不到书
没关系。我通过使用一个隐藏字段来实现这一点。但我无法实现的是显示我在ManagerBook.java中设置的书名ISBN。。Jelp您可以在ManagerBook.java中再编写一个方法,如果成功为1,将调用该方法,该方法将返回图书名称。因此,您可以在jsp中添加scripylet,在其中检查是否找到图书,然后显示isbn和图书名称。我已经添加了。。请检查我的密码。为什么我不能显示结果?不要使用b1作为参考。它应该是bm。尝试我添加的代码..我希望这有帮助。@Satya-Lol.的副本。。你必须明白,尽管我在努力解决这个问题。这就是为什么要寻求帮助!