Hallo,
ich benutze Hibernate in Verbindung mit Struts 2.
Um Datenbankaktionen durchzuführen benutze ich die Annotations
@SessionTarget session und TransactionTarget transaction.
Mit Struts funktioniert das auch alles soweit. Wahrscheinlich durch die folgende Angabe in der struts-config.xml:
Jetzt möchte ich aber Ajax verwenden. Dazu muss ich mittels jsp eine Funktion aufrufen mittels <%.....%>
Es soll dieselbe Funktion wie bei Struts aufgerufen werden, welche den Datenbankzugriff realisiert. Doch dies funktioniert nicht. Ich bekomme eine Nullpointerexception, weil session null ist.
Wahrscheinlich wird das sonst durch die struts.xml geregelt. Da ich jetzt aber nicht mittels Struts sondern mittels <%...%> die Funktion aufrufe klappts nicht.Hier mal die Funktion die aufgerufen wird:
Hat da jemand schonmal Erfahrungen mit gemacht?Für eine Idee wär ich echt dankbar!
grüsse
ich benutze Hibernate in Verbindung mit Struts 2.
Um Datenbankaktionen durchzuführen benutze ich die Annotations
@SessionTarget session und TransactionTarget transaction.
Mit Struts funktioniert das auch alles soweit. Wahrscheinlich durch die folgende Angabe in der struts-config.xml:
XML:
<package name="default" extends="hibernate-default">
Jetzt möchte ich aber Ajax verwenden. Dazu muss ich mittels jsp eine Funktion aufrufen mittels <%.....%>
Es soll dieselbe Funktion wie bei Struts aufgerufen werden, welche den Datenbankzugriff realisiert. Doch dies funktioniert nicht. Ich bekomme eine Nullpointerexception, weil session null ist.
Wahrscheinlich wird das sonst durch die struts.xml geregelt. Da ich jetzt aber nicht mittels Struts sondern mittels <%...%> die Funktion aufrufe klappts nicht.Hier mal die Funktion die aufgerufen wird:
Java:
@SessionTarget
Session session;
@TransactionTarget
Transaction transaction;
private Integer maxpostid,minpostid,anzahlansprds;
//Hauptmaske füllen
@SuppressWarnings("unchecked")
@Override
public Postbuch listHauptmaskeDAO(Integer aktuelle_id,Integer jahr,Integer f_id_lfd_struktur) {
System.out.println(aktuelle_id+""+jahr+""+f_id_lfd_struktur);
Postbuch postbuch=new Postbuch();
List <Postbuch> postbuchlist=new ArrayList<Postbuch>();
try {
if(aktuelle_id.equals(55236)){
postbuchlist=session.createQuery("from Postbuch where id_lfd_post='"+aktuelle_id+"'").list();
}
else{
postbuchlist=session.createQuery("from Postbuch where f_id_lfd_struktur='"+f_id_lfd_struktur+"' and id_lfd_post='"+aktuelle_id+"' and i_jahreszahl='"+jahr+"'" ).list();
}
List maxpostbuchlist=session.createQuery("select max(id_lfd_post) from Postbuch where f_id_lfd_struktur='"+f_id_lfd_struktur+"' and i_jahreszahl='"+jahr+"'").list();
List minpostbuchlist=session.createQuery("select min(id_lfd_post) from Postbuch where f_id_lfd_struktur='"+f_id_lfd_struktur+"' and i_jahreszahl='"+jahr+"'").list();
maxpostid= (Integer) maxpostbuchlist.get(0);
minpostid=(Integer) minpostbuchlist.get(0);
System.out.println("minpostid: "+minpostid);
System.out.println("maxpostid: "+maxpostid);
if(postbuchlist.size()==0) System.out.println("kein Datensatz vorhanden");
else postbuch=postbuchlist.get(0);
} catch (Exception e) {
e.printStackTrace();
}finally{
if(transaction!=null && !transaction.wasCommitted()){
transaction.rollback();
}
}
return postbuch;
}
Hat da jemand schonmal Erfahrungen mit gemacht?Für eine Idee wär ich echt dankbar!
grüsse
Zuletzt bearbeitet von einem Moderator: