|
|
|
Spring3 And Hibernate 3 |
6: /classes/com/company/springapp/Employee
package com.company.springapp;
import java.io.Serializable;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
public class Employee implements Serializable
{
private Long empId;
private String firstName;
private String lastName;
private Date dateofBirth;
private Date hireDate;
public Date getDateofBirth() {
return dateofBirth;
}
public void setDateofBirth(Date dateofBirth) {
this.dateofBirth = dateofBirth;
}
public Long getEmpId() {
return empId;
}
public void setEmpId(Long empId) {
this.empId = empId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public Date getHireDate() {
return hireDate;
}
public void setHireDate(Date hireDate) {
this.hireDate = hireDate;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Note direct use of java.util.Date in data transfer object. This data conversion from String to Date shall be achieved using
@InitBinder in Controller
7: /classes/com/company/springapp/EmployeeController
package com.company.springapp;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.log4j.Logger;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value="/employee")
public class EmployeeController
{
private static final Logger logger = Logger.getLogger(EmployeeController.class);
private EmployeeDao employeeDao;
public void setEmployeeDao(EmployeeDao employeeDao) {
this.employeeDao = employeeDao;
}
@InitBinder
public void initBinder(WebDataBinder binder)
{
logger.info("start");
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(
dateFormat, true));
}
@RequestMapping(value="/list")
protected ModelAndView list(@ModelAttribute("command") Employee command)
throws Exception
{
logger.info("start");
ModelAndView mav = new ModelAndView();
try
{
mav.setViewName("employee_maintenance");
List employeeList = employeeDao.list();
mav.addObject("employeeList", employeeList);
}
catch (Exception e)
{
logger.error(e,e);
}
return mav;
}
@RequestMapping(value="/delete")
protected ModelAndView delete(@ModelAttribute("command") Employee command)
throws Exception
{
logger.info("start::"+ BeanUtils.describe(command));
ModelAndView mav = new ModelAndView();
try
{
mav.setViewName("employee_maintenance");
employeeDao.delete(command);
List employeeList = employeeDao.list();
mav.addObject("employeeList", employeeList);
}
catch (Exception e)
{
logger.error(e,e);
}
return mav;
}
@RequestMapping(value="/insert")
protected ModelAndView insert(@ModelAttribute("command") Employee command)
throws Exception
{
logger.info("start::"+ BeanUtils.describe(command));
ModelAndView mav = new ModelAndView();
try
{
mav.setViewName("employee_maintenance");
employeeDao.insert(command);
List employeeList = employeeDao.list();
mav.addObject("employeeList", employeeList);
}
catch (Exception e)
{
logger.error(e,e);
}
return mav;
}
@RequestMapping(value="/update")
protected ModelAndView update(@ModelAttribute("command") Employee command)
throws Exception
{
logger.info("start::"+ BeanUtils.describe(command));
ModelAndView mav = new ModelAndView();
try
{
mav.setViewName("employee_maintenance");
employeeDao.update(command);
List employeeList = employeeDao.list();
mav.addObject("employeeList", employeeList);
}
catch (Exception e)
{
logger.error(e,e);
}
return mav;
}
}
see @Controller, @RequestMapping(value="/employee"), @RequestMapping(value="/list"), @RequestMapping(value="/insert")
8: /classes/com/company/springapp/EmployeeDao
package com.company.springapp;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
public class EmployeeDao
{
private HibernateTemplate hbrnTmplt;
public void setSessionFactory(SessionFactory sessionFactory) {
this.hbrnTmplt = new HibernateTemplate(sessionFactory);
}
public List list() {
List list = hbrnTmplt.find("from Employee");
return list;
}
public void insert(Employee newEmployee) {
hbrnTmplt.save(newEmployee);
}
public void update(Employee employee) {
hbrnTmplt.update(employee);
}
public void delete(Employee employee) {
hbrnTmplt.delete(employee);
}
}
9: /WEB-INF/jsp/employee_maintenance.jsp
<%@ page import="com.company.springapp.Employee"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<jsp:useBean id="employeeList" class="java.util.ArrayList"
scope="request" />
<html>
<head>
<script>
function submitForm(insUpdDel,rownum)
{
if(insUpdDel == 'insert')
{
document.frm.firstName.value = document.getElementById('firstNameIsrt').value;
document.frm.lastName.value = document.getElementById('lastNameIsrt').value;
document.frm.dateofBirth.value = document.getElementById('dateofBirthIsrt').value;
document.frm.hireDate.value = document.getElementById('hireDateIsrt').value;
}
else if(insUpdDel == 'delete')
{
document.frm.empId.value = document.getElementById('empId'+rownum).value;
}
else if(insUpdDel == 'update')
{
document.frm.empId.value = document.getElementById('empId'+rownum).value;
document.frm.firstName.value = document.getElementById('firstName'+rownum).value;
document.frm.lastName.value = document.getElementById('lastName'+rownum).value;
document.frm.dateofBirth.value = document.getElementById('dateofBirth'+rownum).value;
document.frm.hireDate.value = document.getElementById('hireDate'+rownum).value;
}
document.frm.action = "/Spring3/employee/"+insUpdDel;
document.frm.method = "post";
document.frm.submit();
}
</script>
</head>
<body>
<form name='frm' >
<table bgcolor="#EFEFEF" border="1">
<tr>
<td><Strong>Employee Id</Strong></td>
<td><Strong>First Name</Strong></td>
<td><Strong>Last Name</Strong></td>
<td><Strong>Date of Birth</Strong></td>
<td><Strong>Hire Date</Strong></td>
<td><Strong> </Strong></td>
<td><Strong> </Strong></td>
</tr>
<c:forEach var="employee" items="${employeeList}" varStatus="counter">
<tr>
<td><input type='text' name='empId${counter.index}'
value='${employee.empId}' size='20' readonly /></td>
<td><input type='text' name='firstName${counter.index}'
value='${employee.firstName}' size='20' /></td>
<td><input type='text' name='lastName${counter.index}'
value='${employee.lastName}' size='20' /></td>
<td><input type='text' name='dateofBirth${counter.index}'
value='${employee.dateofBirth}' size='20' /></td>
<td><input type='text' name='hireDate${counter.index}'
value='${employee.hireDate}' size='20' /></td>
<td><input type='button' value='Delete' onclick="submitForm('delete',${counter.index})" /></td>
<td><input type='button' value='Update' onclick="submitForm('update',${counter.index})" /></td>
</tr>
</c:forEach>
<tr>
<td> </td>
<td><input type='text' name='firstNameIsrt' size='20' /></td>
<td><input type='text' name='lastNameIsrt' size='20' /></td>
<td><input type='text' name='dateofBirthIsrt' size='20' /></td>
<td><input type='text' name='hireDateIsrt' size='20' /></td>
<td><input type='button' value='Insert' onclick="submitForm('insert')" /></td>
<td> </td>
</tr>
</table>
<input type='hidden' name='empId'/>
<input type='hidden' name='firstName'/>
<input type='hidden' name='lastName'/>
<input type='hidden' name='dateofBirth'/>
<input type='hidden' name='hireDate'/>
</form>
</body>
</html>
Note <c:forEach var="employee" items="${employeeList}" varStatus="counter">
|
|
|
| How to loop arraylist JAVA6 Syntax
|
| How to iterrate through ArrayList and display multiple rows using for loop JAVA6 syntax..
|
| Java JSP |
2010-Oct-12 |
| How to loop arraylist
|
| How to iterrate through ArrayList and display multiple rows using for loop, JSTL tags..
|
| Java JSP |
2010-Oct-12 |
| Consumer using JAX WS Dispatch API and DOM parser 1
|
| Access/Consume Webservice using Servlet, JAX-WS Dispatch API dynamic client and parsing SOAP response using DOM parser...
|
| Java Webservice |
2010-Sep-20 |
| Simple Java first CXF Webservice 4
|
| Building Simple Java first CXF webservice using CXFServlet, Spring, jaxws:endpoint, @WebService, @SOAPBinding, @WebResult
|
| Java Webservice |
2010-Sep-19 |
| Simple Java first CXF Webservice 3
|
| Building Simple Java first CXF webservice using CXFServlet, Spring, jaxws:endpoint, @WebService, @SOAPBinding, @WebResult
|
| Java Webservice |
2010-Sep-18 |
| Simple Java first CXF Webservice 1
|
| Building Simple Java first CXF webservice using CXFServlet, Spring, jaxws:endpoint, @WebService, @SOAPBinding, @WebResult
|
| Java Webservice |
2010-Sep-18 |
| Simple Java first CXF Webservice 2
|
| Building Simple Java first CXF webservice using CXFServlet, Spring, jaxws:endpoint, @WebService, @SOAPBinding, @WebResult
|
| Java Webservice |
2010-Sep-18 |
| Encoding special characters in userinput or on server
|
| Encoding can be done either in Javascript or JAVA encodeURIComponent, escape, java.net.URLEncoder..
|
| Java JSP |
2010-Aug-09 |
| Jstl fmt tag i18n formatdate formatcurrency
|
| fmt:setBundle, native2ascii.exe, fmt:message, fmt:setLocale, fmt:formatDate, fmt:formatNumber type=currency..
|
| Java JSP |
2010-Aug-05 |
| How to read and write a file
|
| How to read and write a file java.io.BufferedReader,java.io.FileReader, InputStreamReader ...
|
| Java J2SE |
2010-Aug-04 |
| jQuery validate form using ajax 2
|
| How to validate/submit form using ajax and jQuery input#, ($.ajax)..
|
| Javascript |
2010-Jul-23 |
| jQuery validate form using ajax 1
|
| How to validate/submit form using ajax and jQuery ($.ajax)..
|
| Javascript |
2010-Jul-23 |
| How to create datasource in RAD Websphere
|
| Create JDBC provider, datasource and JAAS security setup, JDBC connection URLs
|
| Servers Websphere |
2010-Jul-08 |
| Get Started 4
|
| Struts2 framework structure, how various components fit together
|
| Java Struts2 |
2010-Jul-07 |
| How to populate a form when JSP is called first time
|
| This is achieved throught setting bean in request, using frameworks like Struts2, Spring3..
|
| Java JSP |
2010-Jul-07 |
| Spring3 And Hibernate 4
|
| Spring3 and Hibernate 3.5.3 working together @Controller, @RequestMapping, @InitBinder, HibernateTransactionManager, LocalSessionFactoryBean, HibernateTemplate
|
| Java Spring |
2010-Jul-07 |
|
|