如何将值从jsp传递给hibernate

时间:2013-07-04 05:36:27

标签: hibernate jsp

   <html>
 <head>
  <title>Registration form </title>
  <script>



 <form name="register" onsubmit="return validateForm()" action='register.jsp' method='get'>
<table>
<tr><td><font face="Times New Roaman">First Name*:</font></td><td><input type='text' name='fname' maxlength='30'></td></tr>
<tr><td><font face="Times New Roaman">Middle Name:</font></td><td><input type='text' name='mname' maxlength='30'></td></tr>
<tr><td><font face="Times New Roaman">Last Name*:</font></td><td><input type='text' name='lname' maxlength='30'></td></tr>
<tr><td><font face="Times New Roaman">Date of birth*</font></td>
<td><select name='date'>
<option value='0'>DD</option>

</select>

<select name='month'>
<option value='0'>MM</option>

</select>
<select name='year'>
<option value='0'>YYYY</option>

</select>
</td></tr>

<tr><td><font face="Times New Roaman">Mobile Number*</font></td><td><input type='text'  name='mob' value='10 digit' onblur="if (this.value == '') {this.value = '10 digit';}" 
 onfocus="if (this.value == '10 digit') {this.value = '';}" maxlength='10'></td></tr>
<tr><td><font face="Times New Roaman">Email Address*</font></td><td><input type='text' name='email' value='example@domain.com' onblur="if (this.value == '') {this.value = 'example@domain.com';}"
 onfocus="if (this.value == 'example@domain.com') {this.value = '';}"></td></tr>
<tr><td><font face="Times New Roman">Address*</font></td><td><textarea rows="4" name="address"></textarea></td></tr>
<tr><td></td><td><input type='submit' value='submit'><input type='reset' value='reset'></td></tr>

</table>
</form>  
 </body>
</html>

当我在jsp页面中输入值时,不会想到这个代码,它正在调用另一个名为register.jsp的页面,下面给出的代码如何为一个用于插入值的hibernate程序进行pss。数据库

<html>
<body>
<%@page import="devmanuals.model.UserDao"%>
<jsp:useBean id="link" scope="application" class = "devmanuals.model.User" />

<% 


String fname=request.getParameter("fname");
String lname=request.getParameter("lname");
String mobile=request.getParameter("mob");
String email=request.getParameter("email");
out.print("Welcome "+fname);

int i=UserDao.register(link);
if(i>0)
{
    out.println("sucessfully registered");
}

%>

当我使用上面的代码时,它显示的错误除此之外我们如何将值传递给hibernate

1 个答案:

答案 0 :(得分:0)

在第二个JSP中,您正在为User创建bean,但不使用您的bean的getter和setter方法使用request的属性填充它的属性,这可能是error

的原因

为了在hibernate中使用Model Objects,它必须在类中具有getter and setter methods的属性。

下面是示例说明。

link.setXxx(request.getParameter("xxx"));
. 
.
.
int i=UserDao.register(link);

另一个选项是

<jsp:setProperty name="link" property="*" />

名称与请求参数名称匹配的所有bean属性 - 如果有 - 将被设置

This是该示例的链接,它将向您解释如何使用Hibernate将数据插入表中。