我在使用jsp的web项目中使用了 hibernate2 插件。我的项目还包含一个注册页面。
我可以使用 Javabeans 使用hibernate的类从html <form>
发送信息吗?没有hibernate,我创建了一个带有get和set的类:
package com.java2s;
public class Lang {
private String choix;
private String comm;
public String getChoix() {
return choix;
}
public void setChoix(String choix) {
this.choix = choix;
//System.out.println(choix);
}
public String getComm() {
return comm;
}
public void setComm(String comm) {
this.comm = comm;
// System.out.println(comm);
}
}
但我知道hibernate会生成一个get和set类,并使用:
接收它<jsp:useBean id='user' class='com.java2s.Lang' type='com.java2s.Lang' scope='session' />
<jsp:setProperty name='user' property='*'/>
任何想法如何做到这一点?
答案 0 :(得分:1)
Hibernate 2?目前的版本是3.6.5;我升级了。你的JSP中不应该有任何Hibernate代码;它应该将表单提交给servlet,它将验证请求参数并将其绑定到对象,然后使用Hibernate继续。
答案 1 :(得分:0)
我得到了我需要的东西,我从hibernate生成的包中调用MyDB.Etudinat
在我的jsp页面中的bean上
我就像那样保存
<%
if(user.getUserName()!=null){
Session hibernateSession = MyDB.HibernateUtil.currentSession();
Transaction tx = hibernateSession.beginTransaction();
Etudinat etudiant = new Etudinat();
etudiant.setUserName(user.getUserName());
etudiant.setPassword(user.getPassword());
etudiant.setEmail(user.getEmail());
etudiant.setNom(user.getNom());
etudiant.setPrenom(user.getPrenom());
etudiant.setSexe(user.getSexe());
etudiant.setQuestion(user.getQuestion());
etudiant.setAnswer(user.getAnswer());
etudiant.setIDFilliere(Filliere.INFORMATIQUE);
/* out.print("<Li>"+user.getUserName());
out.print("<Li>"+user.getPassword());
out.print("<Li>"+user.getEmail());
out.print("<Li>"+user.getNom());
out.print("<Li>"+user.getPrenom());
out.print("<Li>"+user.getSexe());
out.print("<Li>"+user.getQuestion());
out.print("<Li>"+user.getAnswer());
*/
hibernateSession.save(etudiant);
tx.commit();
HibernateUtil.closeSession();
}
%>
我希望这会有助于其他人