----------------------------------------- Auth.java -------------------------------------
-------------------------------- CustomerAction.java ----------------------------------
package com.ramsis.actions;
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String name;
private Integer age;
private String email;
private String telephone;
public String addCustomer() {
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
}
-------------------------- LoginAction.java -------------------------
package com.ramsis.actions;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import org.hibernate.*;
import org.hibernate.cfg.AnnotationConfiguration;
public class LoginAction extends ActionSupport implements SessionAware {
/**
*
*/
private static final long serialVersionUID = 1L;
private String username;
private String pass;
private String u;
private String p;
Map m;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getU() {
return u;
}
public void setU(String u) {
this.u = u;
}
public String getP() {
return p;
}
public void setP(String p) {
this.p = p;
}
public String logOut(){
m.remove("loginId");
addActionMessage("You Have Been Successfully Logged Out");
return SUCCESS;
}
public String execute() {
try{
SessionFactory cfg = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = cfg.openSession();
Transaction t = session.beginTransaction();
//Auth auth = new Auth();
//auth.setUsername("pavan");
//auth.setPass("pavan");
//session.save(auth);
//t.commit();
Query u= session.createQuery("from Auth where username= '"+username+"' and pass= '"+pass+"'");
List<Auth> li = u.list();
if(li.size()>0){
Iterator<Auth> itr = li.iterator();
while(itr.hasNext()){
Auth a = itr.next();
m.put("loginId", a.getUsername());
}
System.out.println("session name is :"+m.get("loginId"));
t.commit();
session.close();
return "success";
}else{
addActionError(getText("Your User name and Password is not valid. "));
return "error";
}
}catch(Exception e){
e.printStackTrace();
addActionError(getText("Some technical error has been occured, Please login after some time. "));
return "error";
}
}
@Override
public void setSession(Map<String, Object> arg0) {
this.m=arg0;
}
}
-------------------------------- LoginAction-Validation.xml ------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"
http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>User Name is required.</message>
</field-validator>
</field>
<field name="pass">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="password.required" />
</field-validator>
</field>
</validators>
----------------------------- ClearCacheInterceptor.java ---------------------------
package com.ramsis.clearcache.interceptor;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.StrutsStatics;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class ClearCacheInterceptor extends AbstractInterceptor{
private static final long serialVersionUID = 1L;
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext context=(ActionContext)invocation.getInvocationContext();
HttpServletResponse response=(HttpServletResponse)context.get(StrutsStatics.HTTP_RESPONSE);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
String result=invocation.invoke();
return result;
}
}
--------------------------- ClientForSave.java -------------------------------
package com.ramsis.hibernate.contact.util;
import org.hibernate.*;
import org.hibernate.cfg.*;
import com.opensymphony.xwork2.ActionSupport;
public class ClientForSave extends ActionSupport {
private Long id;
private String name;
private int age;
private String email;
private String telephone;
public Long getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public String getEmail() {
return email;
}
public String getTelephone() {
return telephone;
}
public void setId(Long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setEmail(String email) {
this.email = email;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String addCustomer()
{
Configuration cfg = new AnnotationConfiguration().configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
Contact p=new Contact();
p.setName(getName());
p.setAge(getAge());
p.setEmail(getEmail());
p.setTelephone(getTelephone());
Transaction tx = session.beginTransaction();
session.save(p);
System.out.println("Object saved successfully.....!!");
tx.commit();
session.close();
factory.close();
return "success";
}
}
---------------------------------- Contact.java ---------------------------
package com.ramsis.hibernate.contact.util;
public class Contact{
private Long id;
private String name;
private Integer age;
private String email;
private String telephone;
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private String password;
public Long getId() {
return id;
}
public String getName() {
return name;
}
public Integer getAge() {
return age;
}
public String getEmail() {
return email;
}
public String getTelephone() {
return telephone;
}
public void setId(Long id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAge(Integer age) {
this.age = age;
}
public void setEmail(String email) {
this.email = email;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
}
------------------------------ DeleteData.java ---------------------------------
package com.ramsis.hibernate.contact.util;
import com.opensymphony.xwork2.ActionSupport;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class DeleteData extends ActionSupport{
private String telephone;
private String msg="Records found.";
private String q;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String execute(){
try{
SessionFactory cfg = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = cfg.openSession();
Transaction t = session.beginTransaction();
Transaction t1 = session.beginTransaction();
Query qr1 = session.createQuery("from Contact where telephone='"+telephone+"'");
List<Contact> li = qr1.list();
//System.out.println("telephone : "+telephone);
if(telephone==(null)||telephone==("")||li.size()==0){
System.out.println("No record Deleted!!");
msg="No record Deleted!!";
return "success";
}
else{
q ="delete from Contact where telephone='"+telephone+"'";
Query qr = session.createQuery(q);
qr.executeUpdate();
t.commit();
session.close();
System.out.println("Record has been Deleted.");
msg="Record has been Deleted!!";
return "success";
}
}
catch(Exception e){
e.printStackTrace();
return "error+'"+e+"'";
}
}
}
------------------------------------- Product.java ----------------------------------------
package com.ramsis.hibernate.contact.util;
public class Product{
private int productId;
private String proName;
private double price;
public void setProductId(int productId)
{
this.productId = productId;
}
public int getProductId()
{
return productId;
}
public void setProName(String proName)
{
this.proName = proName;
}
public String getProName()
{
return proName;
}
public void setPrice(double price)
{
this.price = price;
}
public double getPrice()
{
return price;
}
}
----------------------------------- ShowData.java -------------------------------------
package com.ramsis.hibernate.contact.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.hibernate.*;
import org.hibernate.cfg.AnnotationConfiguration;
import com.opensymphony.xwork2.ActionSupport;
public class ShowData extends ActionSupport {
private List<Contact> comboMeals = new ArrayList<Contact>();
public List<Contact> getComboMeals() {
return comboMeals;
}
public void setComboMeals(List<Contact> comboMeals) {
this.comboMeals = comboMeals;
}
public String execute(){
try{
SessionFactory cfg = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = cfg.openSession();
Transaction t = session.beginTransaction();
Query s = session.createQuery("from Contact");
List<Contact> li = s.list();
Iterator<Contact> itr = li.iterator();
while(itr.hasNext()){
Contact c = itr.next();
//System.out.println(c.getName());
// c.getName();
// c.getEmail();
// c.getPassword();
// c.getTelephone();
// c.getUsername();
comboMeals.add(c);
//System.out.println(t.wasCommitted());
}
t.commit();
session.close();
}
catch(Exception e){
e.printStackTrace();
}
if(comboMeals.size()>0){
return "success";
}
else{
return "error";
}
}
}
----------------------------------------- ShowTest.java -----------------------
package com.ramsis.hibernate.contact.util;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
public class ShowTest extends ActionSupport {
private List<String> comboMeals;
public List<String> getComboMeals() {
return comboMeals;
}
public void setComboMeals(List<String> comboMeals) {
this.comboMeals = comboMeals;
}
public String execute() {
comboMeals = new ArrayList<String>();
comboMeals.add("Snack Plate");
comboMeals.add("Dinner Plate");
comboMeals.add("Colonel Chicken Rice Combo");
comboMeals.add("Colonel Burger");
comboMeals.add("O.R. Fillet Burger");
comboMeals.add("Zinger Burger");
return SUCCESS;
}
}
------------------------------------ Update.java ------------------------
package com.ramsis.hibernate.contact.util;
import org.hibernate.*;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import com.opensymphony.xwork2.ActionSupport;
public class Update extends ActionSupport {
private int id;
private String name;
private String age;
private String telephone;
private String email;
private String msg="";
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getEmail(){
return email;
}
public void setEmail(String email){
this.email=email;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String execute(){
try{
SessionFactory cfg = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = cfg.openSession();
Transaction t = session.beginTransaction();
Query u = session.createQuery("update Contact set name='"+name+"', age='"+age+"', email='"+email+"' , telephone='"+telephone+"' where id ='"+id+"'");
u.executeUpdate();
t.commit();
session.close();
//System.out.println(t.wasCommitted());
boolean ck = t.wasCommitted();
if(ck==(false)){
System.out.println("Record has not updated.");
msg="Record has not updated.";
return "error";
}
else
System.out.println("Record has been updated.");
msg="Record has been updated.";
return "success";
}
catch(Exception e){
e.printStackTrace();
return "error";
}
}
}
---------------------------------- UpdateData.java --------------------------------
package com.ramsis.hibernate.contact.util;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import org.hibernate.*;
import org.hibernate.annotations.*;
import org.hibernate.cfg.AnnotationConfiguration;
import com.opensymphony.xwork2.ActionSupport;
public class UpdateData extends ActionSupport{
private String name;
private String telephone;
private String msg="";
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
private List<Contact> list = new ArrayList<Contact>();
public List<Contact> getList() {
return list;
}
public void setList(List<Contact> list) {
this.list = list;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String execute(){
try{
SessionFactory cfg = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = cfg.openSession();
Transaction t = session.beginTransaction();
Query q = session.createQuery("from Contact where telephone='"+telephone+"' and name='"+name+"'");
List <Contact> li = q.list();
Iterator <Contact> itr = li.iterator();
System.out.println(name);
System.out.println(telephone);
if(li.size()==0){
msg="No record found!!";
System.out.println(msg);
return "error";
}
System.out.println("size : "+li.size());
msg="Records found.";
while(itr.hasNext()){
Contact c = itr.next();
System.out.println(msg);
list.add(c);
}
t.commit();
}
catch(Exception e){
e.printStackTrace();
}
return "success";
}
public String click(){
return "success";
}
}
---------------------------------------- ClientForSave-validation.xml ----------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"
http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="name">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="name.required" />
</field-validator>
</field>
<field name="age">
<field-validator type="required">
<message key="error.required" />
</field-validator>
<field-validator type="int">
<param name="min">1</param>
<param name="max">100</param>
<message key="age.range"/>
</field-validator>
</field>
<field name="email">
<field-validator type="requiredstring">
<message key="email.required" />
</field-validator>
<field-validator type="email">
<message key="email.invalid" />
</field-validator>
</field>
<field name="telephone">
<field-validator type="requiredstring">
<message key="errors.required" />
</field-validator>
</field>
</validators>
------------------------------------ LoginInterceptor.java -------------------------
package com.ramsis.loginapi.interceptor;
import java.util.Map;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class LoginInterceptor implements Interceptor {
private static final long serialVersionUID = 1L;
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void init() {
// TODO Auto-generated method stub
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
Map<String, Object> sessionAttributes = invocation.getInvocationContext().getSession();
if (sessionAttributes == null || sessionAttributes.get("loginId") == null) {
return "login";
} else {
if (!((String) sessionAttributes.get("loginId")).equals(null)) {
return invocation.invoke();
} else {
return "login";
}
}
}
}
------------------------------------ Contact.hbm.xml --------------------------------
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.ramsis.hibernate.contact.util.Contact" table="Contact">
<id name="id" column="Id" >
<generator class="increment"/>
</id>
<property name="name" column="Name" length="30"/>
<property name="age" column="Age" length="10"/>
<property name="email" column="Email" length="20"/>
<property name="telephone" column="Telephone" length="30"/>
</class>
</hibernate-mapping>
------------------------------------ hibernate.cfg.xml --------------------------------
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/exampledb
</property>
<property name="connection.username">cdb</property>
<property name="connection.password">1234</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">
org.hibernate.cache.NoCacheProvider
</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">update</property>
<!-- <mapping class="com.ramsis.hibernate.contact.model.Contact" /> -->
<mapping class="com.ramsis.actions.Auth" />
<mapping resource="Contact.hbm.xml" />
</session-factory>
</hibernate-configuration>
----------------------------------- struts.xml -----------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"
http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<constant name="struts.custom.i18n.resources" value="ApplicationResources" />
<package name="default" extends="struts-default" namespace="/" >
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<interceptors>
<interceptor name="loginInterceptor" class="com.ramsis.loginapi.interceptor.LoginInterceptor1" ></interceptor>
<interceptor name="clear-cache" class="com.ramsis.clearcache.interceptor.ClearCacheInterceptor" ></interceptor>
<interceptor-stack name="loginStack">
<interceptor-ref name="loginInterceptor" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<global-results>
<result name="login">/Login.jsp</result>
</global-results>
<action name="login"
class="com.ramsis.actions.LoginAction" method="execute">
<result name="success" type="tiles">/welcome.tiles</result>
<result name="error">/Login.jsp</result>
<result name="input">/Login.jsp</result>
</action>
<!-- <action name="customer"
class="com.ramsis.actions.CustomerAction">
<interceptor-ref name="loginStack" />
<result name="success" type="tiles">/customer.success.tiles</result>
<result name="input" type="tiles">/customer.tiles</result>
</action> -->
<action name="customer-form">
<interceptor-ref name="loginStack" />
<result name="success" type="tiles">/customer.tiles</result>
</action>
<!-- logout action -->
<action name="logOut" class="com.ramsis.actions.LoginAction" method="logOut">
<interceptor-ref name="clear-cache" />
<interceptor-ref name="loginStack" />
<result name="success">/Login.jsp</result>
</action>
<action name="customer" class="com.ramsis.hibernate.contact.util.ClientForSave" method="addCustomer">
<interceptor-ref name="loginStack" />
<result name="success" type="tiles">/customer.success.tiles</result>
<result name="input" type="tiles">/customer.tiles</result>
</action>
<action name="ShowTest" class="com.ramsis.hibernate.contact.util.ShowData">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/ShowTest.success.tiles</result>
</action>
<action name="DeleteData" class="com.ramsis.hibernate.contact.util.DeleteData">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/DeleteData.success.tiles</result>
</action>
<action name="DeleteDataClick" class="">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/DeleteDataClick.success.tiles</result>
</action>
<action name="BeforeUpdate" class="com.ramsis.hibernate.contact.util.UpdateData" method="click">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/BeforeUpdate.success.tiles</result>
</action>
<!-- <action name="BeforeUpdate" class="com.ramsis.hibernate.contact.util.UpdateData" method="execute">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/BeforeUpdate.success.tiles</result>
</action> -->
<action name="UpdateData" class="com.ramsis.hibernate.contact.util.UpdateData" method="execute">
<interceptor-ref name="loginStack" />
<result type="tiles" name="error">/BeforeUpdate.error.tiles</result>
<result type="tiles" name="success" >/Update.success.tiles</result>
</action>
<action name="Updated" class="com.ramsis.hibernate.contact.util.Update" method="execute">
<interceptor-ref name="loginStack" />
<result name="error">/error.jsp</result>
<result type="tiles" name="success" >/Updated.success.tiles</result>
</action>
</package>
</struts>
--------------------------------------- tiles.xml -----------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"
http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
<definition name="baseLayout" template="/BaseLayout.jsp">
<put-attribute name="title" value="" />
<put-attribute name="header" value="/Header.jsp" />
<put-attribute name="menu" value="/Menu.jsp" />
<put-attribute name="body" value="" />
<put-attribute name="footer" value="/Footer.jsp" />
</definition>
<definition name="/welcome.tiles" extends="baseLayout">
<put-attribute name="title" value="Welcome" />
<put-attribute name="body" value="/Welcome.jsp" />
</definition>
<definition name="/customer.tiles" extends="baseLayout">
<put-attribute name="title" value="Customer Form" />
<put-attribute name="body" value="/Customer.jsp" />
</definition>
<definition name="/customer.success.tiles" extends="baseLayout">
<put-attribute name="title" value="Customer Added" />
<put-attribute name="body" value="/SuccessCustomer.jsp" />
</definition>
<definition name="/ShowTest.success.tiles" extends="baseLayout">
<put-attribute name="title" value="ShowTest" />
<put-attribute name="body" value="/ShowTest.jsp" />
</definition>
<definition name="/DeleteData.success.tiles" extends="baseLayout">
<put-attribute name="title" value="DeleteData" />
<put-attribute name="body" value="/DeleteData.jsp" />
</definition>
<definition name="/DeleteDataClick.success.tiles" extends="baseLayout">
<put-attribute name="title" value="DeleteDataClick" />
<put-attribute name="body" value="/DeleteData.jsp" />
</definition>
<definition name="/BeforeUpdate.success.tiles" extends="baseLayout">
<put-attribute name="title" value="BeforeUpdate" />
<put-attribute name="body" value="/BeforeUpdate.jsp" />
</definition>
<definition name="/BeforeUpdate.error.tiles" extends="baseLayout">
<put-attribute name="title" value="UpdateError" />
<put-attribute name="body" value="/BeforeUpdate.jsp" />
</definition>
<definition name="/Update.success.tiles" extends="baseLayout">
<put-attribute name="title" value="Update" />
<put-attribute name="body" value="/Update.jsp" />
</definition>
<definition name="/Updated.success.tiles" extends="baseLayout">
<put-attribute name="title" value="Updated" />
<put-attribute name="body" value="/BeforeUpdate.jsp" />
</definition>
</tiles-definitions>
----------------------------------------- web.xml -----------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4"
xmlns="
http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts2 Application</display-name>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
<context-param>
<param-name>tilesDefinitions</param-name>
<param-value>/WEB-INF/tiles.xml</param-value>
</context-param>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>Login.jsp</welcome-file>
</welcome-file-list>
</web-app>
---------------------------------------- BaseLayout.jsp ----------------------------------
<%@ taglib uri="
http://tiles.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><tiles:insertAttribute name="title" ignore="true" /></title>
</head>
<body>
<table border="1" cellpadding="2" cellspacing="2" align="center">
<tr>
<td height="30" colspan="3"><tiles:insertAttribute name="header" />
</td>
</tr>
<tr>
<td height="300" width="100"><tiles:insertAttribute name="menu" /></td>
<td width="350"><tiles:insertAttribute name="body" /></td>
<td height="300"><tiles:insertAttribute name="menu" /></td>
</tr>
<tr>
<td height="30" colspan="3"><tiles:insertAttribute name="footer" />
</td>
</tr>
</table>
</body>
</html>
--------------------------------- BeforeUpdate.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>Check Data which you have to update.</title>
</head>
<body>
<h2>Update your data.</h2>
<p><s:property value="msg" /></p>
<s:form action="UpdateData.action" method="Post" >
<s:textfield name="name" size="20" label="Name" />
<s:textfield name="telephone" size="20" label="Telephone" />
<s:submit method="execute" key="Submit" />
</s:form>
</body>
</html>
------------------------------- body.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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p> sample body content.</p>
</body>
</html>
----------------------------- Customer.jsp ----------------------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Customer Form - Struts2 Demo </title>
</head>
<body>
<h2>Customer Form</h2>
<s:form action="customer.action" method="post" validate="true">
<s:textfield name="name" key="name" size="20" label="Name" />
<s:textfield name="age" key="age" size="20" label="Age" />
<s:textfield name="email" key="email" size="20" label=" Email" />
<s:textfield name="telephone" key="telephone" size="20" label="Telephome" />
<s:submit method="addCustomer" key="submit" align="center" />
</s:form>
</body>
</html>
--------------------------- DeleteData.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>
<h2>Delete Data</h2>
<s:property value="msg" />
<s:form action="DeleteData.action" method="post" >
<s:textfield name="telephone" size="20" label="Enter Telephone Number " />
<s:submit method="execute" key="Submit" />
</s:form>
</body>
</html>
------------------------------- error.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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Error has been occur. Try again. </h2>
</body>
</html>
------------------------------------ Footer.jsp -------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
Copyright ©
ramsis-code.blogspot.in------------------------------------ Header.jsp -------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<center><h2>Ramsis-Code</h2></center>
<table width="100%" border="0">
<tr>
<td>
Hello <s:property value="%{#session['loginId']}"/> | <a href="<s:url action="logOut"/>">LogOut</a>
| <a href="<s:url action="logOut"/>">Log In</a>
</td>
</tr>
</table>
--------------------------------- Login.jsp ----------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 - Login Application | ViralPatel.net</title>
</head>
<body>
<h2>Struts 2 - Login Application</h2>
<s:actionmessage />
<s:actionerror />
<s:form action="login.action" method="post" namespace="LoginUser">
<s:textfield name="username" key="label.username" size="20" label="User Name" />
<s:password name="pass" key="label.password" size="20" label="Password" />
<s:submit method="execute" value="Submit" key="label.login" align="center" />
</s:form>
</body>
</html>
--------------------------------- Logout.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">
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=Test.action">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p> Logout Successfully...</p>
</body>
</html>
------------------------------- Menu.jsp --------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<s:a href="customer-form">Submit Form</s:a><br/>
<s:a href="ShowTest">Show Data</s:a><br/>
<s:a href="DeleteDataClick">Delete Data</s:a><br/>
<s:a href="BeforeUpdate">Update Data</s:a>
----------------------------- ShowTest.jsp ------------------------
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
<body>
<!-- <h1>Struts 2 Iterator tag example</h1>-->
<h3>Show Records</h3>
<table border="1" style="border-collapse:collapse;">
<th>Name</th>
<th>Age</th>
<th>Email</th>
<th>Telephone</th>
<s:iterator value="comboMeals" status="comboMealsStatus" >
<tr>
<!-- <s:if test="comboMealsStatus.odd == true" /> -->
<td style="background: #CCCCCC"> <s:property value="name" /></td>
<td> <s:property value="age" /></td>
<td> <s:property value="email" /></td>
<td> <s:property value="telephone" /></td>
</tr>
</s:iterator>
</table>
</body>
</html>
-------------------------- SuccessCustomer.jsp -----------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Customer Page - Struts2 Demo | ViralPatel.net</title>
</head>
<body>
<h2>Customer Added Successfully.</h2>
</body>
</html>
--------------------------- Update.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>
<title>Check Data which you have to update.</title>
</head>
<body>
<h2>Update your data.</h2>
<p><s:property value="msg" /></p>
<p><s:set var="strmsg" value="msg"/></p>
<s:form action="Updated.action" method="Post" >
<s:iterator value="list" var="list">
<s:hidden name="id" value="%{#
list.id}" />
<s:textfield name="name" value="%{#
list.name}" size="20" label="Name" />
<s:textfield name="age" value="%{#list.age}" size="20" label="Age " />
<s:textfield name="email" value="%{#list.email}" size="20" label="Email" />
<s:textfield name="telephone" value="%{#list.telephone}" size="20" label="Telephone" />
</s:iterator>
<s:submit method="execute" key="Submit" />
</s:form>
</body>
</html>
--------------------------- Welcome.jsp ----------------------------------
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h2>Howdy, <s:property value="username" />...!</h2>
</body>
</html>