DAO class:
package com.sheeba.joshua;
import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.googlecode.s2hibernate.struts2.plugin.annotations.SessionTarget;
import com.googlecode.s2hibernate.struts2.plugin.annotations.TransactionTarget;
public class leaveDAO {
DB_LEAVE modobj=new DB_LEAVE();
@SessionTarget
Session session;
@TransactionTarget
Transaction t;
public String saveDetails(DB_LEAVE modobj){
System.out.println("inside DAO , before query");
int i=0;
System.out.println("name" +modobj.getBank_id());
System.out.println("session"+session);
Serializable s=session.save(modobj);
System.out.println("i" +i);
System.out.println("inside DAO , after query");
return "SUCCESS";
}
}
Service class:
package com.sheeba.joshua;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.ParentPackage;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
@ParentPackage("hibernate-default")
@InterceptorRef("basicStackHibernate")
public class leaveService implements ModelDriven{
leaveDAO daoobj=new leaveDAO();
DB_LEAVE moddriven=new DB_LEAVE();
public String test(){
return"success";
}
public String saveDetService(){
System.out.println("service entry point");
return daoobj.saveDetails(moddriven);
//return SUCCESS;
}
@Override
public Object getModel() {
return moddriven;
}
}
Action:
package com.sheeba.joshua;
import com.opensymphony.xwork2.ActionSupport;
public class leaveAction {
public String bank_id;
public String emp_name;
public String leaves;
public String getBank_id() {
return bank_id;
}
public void setBank_id(String bank_id) {
this.bank_id = bank_id;
}
public String getEmp_name() {
return emp_name;
}
public void setEmp_name(String emp_name) {
this.emp_name = emp_name;
}
public String getLeaves() {
return leaves;
}
public void setLeaves(String leaves) {
this.leaves = leaves;
}
// public String execute(){
//return SUCCESS;
//}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration
2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" extends="json-default,hibernate-default" namespace="/">
<!-- <action name="fetchBankId" class="com.action.proj.Service" method="fetchBankId">
<result type="json"></result>
</action> -->
<!-- <action name="saveAction" class="com.sheeba.joshua.leaveService" method="test">
<result name="success">/welcome.jsp</result>
</action> -->
<action name="saveAction" class="com.sheeba.joshua.leaveService" method="saveDetService">
<result name="SUCCESS">/welcome.jsp</result>
</action>
</package>
</struts>
This is my JSP:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Save</title>
</head>
<body>
<h3>SAVE YOUR LEAVE DETAILS HERE</h3>
<s:form action="saveAction">
<s:textfield name="bank_id" label="BANK ID"/>
<s:textfield name="emp_name" label="EMP NAME"/>
<s:textfield name="leaves_applied" label="LEAVES"/>
<s:submit value="savehere" align="center"> </s:submit>
</s:form>
</body>
</html>
pojo:
package com.sheeba.joshua;
import javax.persistence.*;
@Entity
@Table (name="DB_LEAVE")
public class DB_LEAVE {
private String bank_id;
private String emp_name;
private String Leaves;
@Id
@Column(name="BANK_ID")
public String getBank_id() {
return bank_id;
}
public void setBank_id(String bank_id) {
this.bank_id = bank_id;
}
@Column(name="EMP_NAME")
public String getEmp_name() {
return emp_name;
}
public void setEmp_name(String emp_name) {
this.emp_name = emp_name;
}
@Column(name="LEAVES")
public String getLeaves() {
return Leaves;
}
public void setLeaves(String leaves) {
Leaves = leaves;
}
}
index.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h3>INDEX PAGE FOR LEAVE PLAN</h3>
<s:form action="saveAction">
<s:textfield name="bank_id" label="BANKID"></s:textfield>
<s:textfield name="emp_name" label="EMPNAME"></s:textfield>
<s:textfield name="leaves" label="LEAVES_APPLIED"></s:textfield>
<s:submit value="save"></s:submit>
</s:form>
</body>
</html>
hibernate.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- connection details -->
<property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">sheeba90</property>
<property name="show_sql">true</property>
<mapping class="com.sheeba.joshua.DB_LEAVE"/>
</session-factory>
</hibernate-configuration>
The values are printing in the console but it is not printing in the JSP view. It is retrieving the data from the database but not displaying it. Please someone tell me what is wrong with my code.