2014-12-14 3 views
0

Я разрабатываю веб-приложение с использованием Struts 2, Spring и hibernate.Struts 2, Spring и hibernate Интеграция: переменная класса класса struts 2 всегда равна нулю

и когда я запускаю приложение, он всегда возвращает null в переменных класса модели в классе действий.

вот фрагменты

класс: StudentPersonalDetails.java

@Entity 
@Table(name="STUDENT_PERSONAL_DETAILS") 
public class StudentPersonalDetails { 

@Id 
@Column(name="Student_ID", unique=true, nullable=false, length=20) 
private String StudentId; 

@Column(name="FIRST_NAME", nullable=false, length=255) 
private String FirstName; 

@Column(name="MIDDLE_NAME", nullable=false, length=255) 
private String MiddleName; 

@Column(name="LAST_NAME", nullable=false, length=255) 
private String LastName; 

@Column(name="GENDER", nullable=false, length=255) 
private String Gender; 

@Temporal(TemporalType.DATE) 
@Column(name="DATE_OF_BIRTH", nullable=false, length=10) 
private Date DateOfBirth; 

@Column(name="GUARDIAN", nullable=false, length=255) 
private String Guardian; 

@Column(name="GUARDIAN_FIRST_NAME", nullable=false, length=255) 
private String GuardianFirstName; 

@Column(name="GUARDIAN_MIDDLE_NAME", nullable=false, length=255) 
private String GuardianMiddleName; 

@Column(name="GUARDIAN_LAST_NAME", nullable=false, length=255) 
private String GuardianLastName; 

@Column(name="STATE_OF_DOMICILE", nullable=false, length=255) 
private String StateOfDomicile; 

@Column(name="NATIONALITY", nullable=false, length=255) 
private String Nationality; 

@Column(name="RELIGION", nullable=false, length=255) 
private String Religion; 

@Column(name="STUDENT_CATEGORY", nullable=false, length=255) 
private String Category; 

@Embedded 
@AttributeOverrides({ 
    @AttributeOverride(name="highestQualification",[email protected](name="STUDENT_HIGHEST_QUALIFICATION")), 
    @AttributeOverride(name="yearOfAppearence",[email protected](name="YEAR_OF_APPEARENCE")), 
    @AttributeOverride(name="monthOfAppearence",[email protected](name="MONTH_OF_APPEARENCE")) 

}) 
private QualificationDetails qualificationDetails = new QualificationDetails(); 

// @ElementCollection 
// @JoinTable(name="STUDENT_CONTACT_DETAILS",[email protected](name="STUDENT_ID")) 
// @GenericGenerator(name = "hilo-gen", strategy = "hilo") 
// @CollectionId(columns = { @Column(name="CONTACT_DETAILS_ID") }, generator = "hilo-gen", type  = @Type(type="long")) 
// private Collection<ContactDetails> contactDetails = new ArrayList<ContactDetails>(); 


@Embedded 
private ContactDetails contactDetails = new ContactDetails(); 


public ContactDetails getContactDetails() { 
    return contactDetails; 
} 
public void setContactDetails(ContactDetails contactDetails) { 
    this.contactDetails = contactDetails; 
} 
public String getStudentId() { 
    return StudentId; 
} 
public String getFirstName() { 
    return FirstName; 
} 
public String getMiddleName() { 
    return MiddleName; 
} 
public String getLastName() { 
    return LastName; 
} 
public String getGender() { 
    return Gender; 
} 
public Date getDateOfBirth() { 
    return DateOfBirth; 
} 
public String getGuardian() { 
    return Guardian; 
} 
public String getGuardianFirstName() { 
    return GuardianFirstName; 
} 
public String getGuardianMiddleName() { 
    return GuardianMiddleName; 
} 
public String getGuardianLastName() { 
    return GuardianLastName; 
} 
public String getStateOfDomicile() { 
    return StateOfDomicile; 
} 
public String getNationality() { 
    return Nationality; 
} 
public String getReligion() { 
    return Religion; 
} 
public String getCategory() { 
    return Category; 
} 
public void setStudentId(String studentId) { 
    StudentId = studentId; 
} 
public void setFirstName(String firstName) { 
    FirstName = firstName; 
} 
public void setMiddleName(String middleName) { 
    MiddleName = middleName; 
} 
public void setLastName(String lastName) { 
    LastName = lastName; 
} 
public void setGender(String gender) { 
    Gender = gender; 
} 
public void setDateOfBirth(Date dateOfBirth) { 
    DateOfBirth = dateOfBirth; 
} 
public void setGuardian(String guardian) { 
    Guardian = guardian; 
} 
public void setGuardianFirstName(String guardianFirstName) { 
    GuardianFirstName = guardianFirstName; 
} 
public void setGuardianMiddleName(String guardianMiddleName) { 
    GuardianMiddleName = guardianMiddleName; 
} 
public void setGuardianLastName(String guardianLastName) { 
    GuardianLastName = guardianLastName; 
} 
public void setStateOfDomicile(String stateOfDomicile) { 
    StateOfDomicile = stateOfDomicile; 
} 
public void setNationality(String nationality) { 
    Nationality = nationality; 
} 
public void setReligion(String religion) { 
    Religion = religion; 
} 
public void setCategory(String category) { 
    Category = category; 
} 

public QualificationDetails getQualificationDetails() { 
    return qualificationDetails; 
} 
public void setQualificationDetails(QualificationDetails qualificationDetails) { 
    this.qualificationDetails = qualificationDetails; 
} 

} 

класс: ContactDetails.java

@Embeddable 
public class ContactDetails { 

@Column(name="MOBILE_NUMBER", nullable=false, length=255) 
private String MobileNumber; 

@Column(name="ALTERNATE_NUMBER", nullable=false, length=255) 
private String AlternateNumber; 

@Column(name="EMAIL_ADDRESS", nullable=false, length=255) 
private String EmailAddress; 

@Column(name="STREET", nullable=false, length=255) 
private String Street; 

@Column(name="POST_OFFICE", nullable=false, length=255) 
private String PostOffice; 

@Column(name="CITY", nullable=false, length=255) 
private String City; 

@Column(name="PIN_CODE", nullable=false, length=255) 
private String PinCode; 

@Column(name="STATE", nullable=false, length=255) 
private String State; 

public String getMobileNumber() { 
    return MobileNumber; 
} 

public String getAlternateNumber() { 
    return AlternateNumber; 
} 

public String getEmailAddress() { 
    return EmailAddress; 
} 

public String getStreet() { 
    return Street; 
} 

public String getPostOffice() { 
    return PostOffice; 
} 

public String getCity() { 
    return City; 
} 

public String getPinCode() { 
    return PinCode; 
} 

public String getState() { 
    return State; 
} 

public void setMobileNumber(String mobileNumber) { 
    MobileNumber = mobileNumber; 
} 

public void setAlternateNumber(String alternateNumber) { 
    AlternateNumber = alternateNumber; 
} 

public void setEmailAddress(String emailAddress) { 
    EmailAddress = emailAddress; 
} 

public void setStreet(String street) { 
    Street = street; 
} 

public void setPostOffice(String postOffice) { 
    PostOffice = postOffice; 
} 

public void setCity(String city) { 
    City = city; 
} 

public void setPinCode(String pinCode) { 
    PinCode = pinCode; 
} 

public void setState(String state) { 
    State = state; 
} 

} 

КЛАСС: QualificationDetails.java

@Embeddable 
public class QualificationDetails { 

@Column(name="HIGHEST_QUALIFICATION", nullable=false, length=255) 
private String highestQualification; 

@Column(name="MONTH_OF_APPEARENCE", nullable=false, length=255) 
private String monthOfAppearence; 

@Column(name="YEAR_OF_APPEARENCE", nullable=false, length=255) 
private String yearOfAppearence; 



public String getHighestQualification() { 
    return highestQualification; 
} 

public String getYearOfAppearence() { 
    return yearOfAppearence; 
} 

public void setHighestQualification(String highestQualification) { 
    this.highestQualification = highestQualification; 
} 

public void setYearOfAppearence(String yearOfAppearence) { 
    this.yearOfAppearence = yearOfAppearence; 
} 

public String getMonthOfAppearence() { 
    return monthOfAppearence; 
} 

public void setMonthOfAppearence(String monthOfAppearence) { 
    this.monthOfAppearence = monthOfAppearence; 
} 

} 

КЛАСС: ImplStudentsDao.java

public class ImplStudentsDao implements StudentsDAO{ 

@Autowired 
private SessionFactory sf; 

@Override 
public List<StudentPersonalDetails> allStudentsList() throws Exception { 
    // TODO Auto-generated method stub 
    return null; 
} 

@Override 
public void Delete(int StudentId) throws Exception { 
    try 
    { 

    } 
    catch(Exception ex) 
    { 
     throw new Exception("CLASS - ImplStudentPersonalDetailsDao : Method - SAVE : MESSEGE - " +ex); 
    } 

} 

@Override 
public StudentPersonalDetails FindById(int StudentId) throws Exception { 
    try 
    { 

    } 
    catch(Exception ex) 
    { 
     throw new Exception("CLASS - ImplStudentPersonalDetailsDao : Method - SAVE : MESSEGE - " +ex); 
    } 
    return null; 

} 

@Override 
public void Save(StudentPersonalDetails spi) throws Exception { 

    try 
    { 
     this.sf.getCurrentSession().saveOrUpdate(spi); 
    } 
    catch(Exception ex) 
    { 
     throw new Exception("CLASS - ImplStudentPersonalDetailsDao : Method - SAVE : MESSEGE - " +ex); 
    } 

} 

@Override 
public void Update(StudentPersonalDetails spi) throws Exception { 
    try 
    { 

    } 
    catch(Exception ex) 
    { 
     throw new Exception("CLASS - ImplStudentPersonalDetailsDao : Method - UPDATE : MESSEGE - " +ex); 
    } 

} 

public void setSf(SessionFactory sf) { 
    this.sf = sf; 
} 


} 

конфигурации Hibernate: hibernate.cfg.xml

<hibernate-configuration> 

<session-factory> 

    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url">jdbc:mysql://localhost:3306/studentTest</property> 
    <property name="connection.username">root</property> 
    <property name="connection.password">pass</property> 
    <property name="connection.pool_size">1</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 
    <property name="show_sql">true</property> 
    <property name="hibernate.hbm2ddl.auto">update</property> 
    <mapping class="org.Students.Model.StudentPersonalDetails"/> 

</session-factory> 

</hibernate-configuration> 

фасоли конфигурации: весна-bean.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:jee="http://www.springframework.org/schema/jee" 
xmlns:lang="http://www.springframework.org/schema/lang" 
xmlns:p="http://www.springframework.org/schema/p" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> 

     <bean name="StudentPersonalDetailsBean" class="org.Students.Model.StudentPersonalDetails"> 
     <property name="contactDetails" ref="contactDetailsBean"/> 
     <property name="qualificationDetails" ref="qualificationDetailsBean"/> 
    </bean> 

    <bean name="contactDetailsBean" class="org.Students.Model.ContactDetails"/> 

    <bean name="qualificationDetailsBean" class="org.Students.Model.QualificationDetails"/> 

    <bean name="ImplStudentDaoBean" class="org.Students.Dao.Impl.ImplStudentsDao"> 
     <property name="sf" > 
      <ref bean="sessionFactory"/> 
     </property> 

    </bean> 

    <bean name="ImplStudentsBoBean" class="org.Students.BO.Impl.ImplStudentsBO"> 
     <property name="stdDao" > 
      <ref bean="ImplStudentDaoBean"/> 

     </property> 

    </bean> 

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/studentTest" /> 
     <property name="username" value="root" /> 
     <property name="password" value="pass" /> 
    </bean> 

    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource" /> 

    <property name="packagesToScan" value="org.Students.Model"></property> 
    <property name="hibernateProperties"> 
     <props> 
     <prop key="connection.pool_size">1</prop> 
     <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> 
     <prop key="hibernate.format_sql">true</prop> 
     <prop key="hibernate.show_sql">true</prop> 
     <prop key="hibernate.hbm2ddl.auto">update</prop> 
     </props> 
    </property> 

    <property name="configLocation"> 
     <value>classpath:hibernate.cfg.xml</value> 
    </property> 

</bean> 

<tx:annotation-driven /> 
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory" /> 

</bean> 
</beans> 

JSP: ApplicationFOrm.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="s" uri="/struts-tags" %> 


<!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>Registration Form</title> 
</head> 
<body> 

<s:form method="post" action="addStudentAction"> 

<s:textfield name="spd.StudentId" label="ID" /> 
<s:textfield name="spd.FirstName" label="First Name" /> 
<s:textfield name="spd.MiddleName" label="Middle Name" /> 
<s:textfield name="spd.LastName" label="Last Name" /> 
<s:textfield name="spd.Gender" label="Gender" /> 
<s:textfield name="spd.DateOfBirth" label="Date Of Birth" /> 
<s:textfield name="spd.Guardian" label="Guardian" /> 
<s:textfield name="spd.GuardianFirstName" label="Guardian First Name" /> 
<s:textfield name="spd.GuardianMiddleName" label="Guardian Middle Name"/> 
<s:textfield name="spd.GuardianLastName" label="Guardian Last Name" /> 
<s:textfield name="spd.StateOfDomicile" label="State Of Domicile"/> 
<s:textfield name="spd.Nationality" label="Nationality" /> 
<s:textfield name="spd.Religion" label="Religion" /> 
<s:textfield name="spd.Category" label="Category" /> 

<s:textfield name="qd.highestQualification" label="Highest Qualification" /> 
<s:textfield name="qd.monthOfAppearence" label="Month Of Appearence" /> 
<s:textfield name="qd.yearOfAppearence" label="Year Of Appearence"/> 

<s:textfield name="cd.MobileNumber" label="Mobile Number" /> 
<s:textfield name="cd.AlternateNumber" label="Alternate Number"/> 
<s:textfield name="cd.EmailAddress" label="Email Address" /> 
<s:textfield name="cd.Street" label="Street" /> 
<s:textfield name="cd.PostOffice" label="Post Office"/> 
<s:textfield name="cd.City" label="City"/> 
<s:textfield name="cd.PinCode" label="Pin Code"/> 
<s:textfield name="cd.State" label="State"/> 

<s:submit /> 

</s:form> 

</body> 

</html> 

класс: ApplicationAction.java

public class ApplicationAction extends ActionSupport implements Preparable { 


    private static final long serialVersionUID = 1L; 

    private static final Logger logger = Logger.getLogger(ApplicationAction.class); 
    private StudentPersonalDetails spd ; 
    private ContactDetails cd ; 
    private QualificationDetails qd ; 

    private StudentsBO Sbo ; 

    public String execute() 
    { 
     System.out.println("Registration Successful!"); 
     return "success"; 
    } 

    public void validate() 
     { 

     System.out.println("validate Method Called"); 
     spd = new StudentPersonalDetails(); 

      System.out.println(spd.getStudentId()); 
      System.out.println(spd.getFirstName()); 
      System.out.println(spd.getMiddleName()); 
      System.out.println(spd.getLastName()); 

      System.out.println(spd.getGender()); 
      System.out.println(spd.getDateOfBirth()); 
      System.out.println(spd.getGuardian()); 

      System.out.println(spd.getGuardianFirstName()); 
      System.out.println(spd.getGuardianMiddleName()); 
      System.out.println(spd.getGuardianLastName()); 

      System.out.println(spd.getStateOfDomicile()); 
      System.out.println(spd.getNationality()); 

      System.out.println(spd.getReligion()); 
      System.out.println(spd.getCategory()); 

      System.out.println(qd.getHighestQualification()); 
      System.out.println(qd.getMonthOfAppearence()); 
      System.out.println(qd.getYearOfAppearence()); 

      System.out.println(cd.getAlternateNumber()); 
      System.out.println(cd.getCity()); 
      System.out.println(cd.getEmailAddress()); 
      System.out.println(cd.getMobileNumber()); 
      System.out.println(cd.getPinCode()); 
      System.out.println(cd.getPostOffice()); 
      System.out.println(cd.getState()); 
      System.out.println(cd.getStreet()); 

     if (spd.getStudentId() == null || spd.getStudentId().trim().equals("")) 
      { 
      addFieldError("spd.StudentId","The Student Id is required"); 
      } 

      if (spd.getFirstName() == null || spd.getFirstName().trim().equals("")) 
      { 
      addFieldError("spd.FirstName","The First Name is required"); 
      } 

      if (spd.getMiddleName() == null || spd.getMiddleName().trim().equals("")) 
      { 
      addFieldError("spd.MiddleName","The Middle Name is required"); 
      } 

      if (spd.getLastName() == null || spd.getLastName().trim().equals("")) 
      { 
      addFieldError("spd.LastName","The Last Name is required"); 
      } 

      if (spd.getGender() == null || spd.getGender().trim().equals("")) 
      { 
      addFieldError("spd.Gender","The Gender is required"); 
      } 

      if (spd.getDateOfBirth() == null || spd.getDateOfBirth().toString().trim().equals("")) 
      { 
      addFieldError("spd.DateOfBirth","The Date Of Birth is required"); 
      } 

      if (spd.getGuardian() == null || spd.getGuardian().trim().equals("")) 
      { 
      addFieldError("spd.Guardian","The Guardian is required"); 
      } 

      if (spd.getGuardianFirstName() == null || spd.getGuardianFirstName().trim().equals("")) 
      { 
      addFieldError("spd.GuardianFirstName","The Guardian FirstName is required"); 
      } 

      if (spd.getGuardianMiddleName() == null || spd.getGuardianMiddleName().trim().equals("")) 
      { 
      addFieldError("spd.GuardianMiddleName","The Guardian MiddleName is required"); 
      } 

      if (spd.getGuardianLastName() == null || spd.getGuardianLastName().trim().equals("")) 
      { 
      addFieldError("spd.GuardianLastName","The Guardian LastName is required"); 
      } 

      if (spd.getStateOfDomicile() == null || spd.getStateOfDomicile().trim().equals("")) 
      { 
      addFieldError("spd.StateOfDomicile","The State Of Domicile is required"); 
      } 

      if (spd.getNationality() == null || spd.getNationality().trim().equals("")) 
      { 
      addFieldError("spd.Nationality","The Nationality is required"); 
      } 

      if (spd.getReligion() == null || spd.getReligion().trim().equals("")) 
      { 
      addFieldError("spd.Religion","The Religion is required"); 
      } 

      if (spd.getCategory() == null || spd.getCategory().trim().equals("")) 
      { 
      addFieldError("spd.Category","The Category is required"); 
      } 

      if (qd.getHighestQualification() == null || qd.getHighestQualification().trim().equals("")) 
      { 
      addFieldError("qd.highestQualification","Highest Qualification is required"); 
      } 

      if (qd.getMonthOfAppearence() == null || qd.getMonthOfAppearence().trim().equals("")) 
      { 
      addFieldError("qd.monthOfAppearence","Month Of Appearence is required"); 
      } 

      if (qd.getYearOfAppearence() == null || qd.getYearOfAppearence().trim().equals("")) 
      { 
      addFieldError("qd.yearOfAppearence","The Year Of Appearence is required"); 
      } 

      if (cd.getAlternateNumber() == null || cd.getAlternateNumber().trim().equals("")) 
      { 
      addFieldError("cd.AlternateNumber","The Alternate Number is required"); 
      } 

      if (cd.getStreet() == null || cd.getStreet().trim().equals("")) 
      { 
      addFieldError("cd.Street","Street is required"); 
      } 

      if (cd.getCity() == null || cd.getCity().trim().equals("")) 
      { 
      addFieldError("cd.City","The City is required"); 
      } 

      if (cd.getEmailAddress() == null || cd.getEmailAddress().trim().equals("")) 
      { 
      addFieldError("cd.EmailAddress","The Email Address is required"); 
      } 

      if (cd.getMobileNumber() == null || cd.getMobileNumber().trim().equals("")) 
      { 
      addFieldError("cd.MobileNumber","The Mobile Number is required"); 
      } 

      if (cd.getPinCode() == null || cd.getPinCode().trim().equals("")) 
      { 
      addFieldError("cd.PinCode","The Pin Code is required"); 
      } 

      if (cd.getPostOffice() == null || cd.getPostOffice().trim().equals("")) 
      { 
      addFieldError("cd.PostOffice","The Post Office is required"); 
      } 

      if (cd.getState() == null || cd.getState().trim().equals("")) 
      { 
      addFieldError("cd.State","The State is required"); 
      } 

     } 

    public String addStudent() 
    { 
     System.out.println("addStudent Method Called"); 

     System.out.println(spd.getStudentId()); 
     System.out.println(spd.getFirstName()); 
     System.out.println(spd.getMiddleName()); 
     System.out.println(spd.getLastName()); 

     System.out.println(spd.getGender()); 
     System.out.println(spd.getDateOfBirth()); 
     System.out.println(spd.getGuardian()); 

     System.out.println(spd.getGuardianFirstName()); 
     System.out.println(spd.getGuardianMiddleName()); 
     System.out.println(spd.getGuardianLastName()); 

     System.out.println(spd.getStateOfDomicile()); 
     System.out.println(spd.getNationality()); 

     System.out.println(spd.getReligion()); 
     System.out.println(spd.getCategory()); 

     System.out.println(qd.getHighestQualification()); 
     System.out.println(qd.getMonthOfAppearence()); 
     System.out.println(qd.getYearOfAppearence()); 

     System.out.println(cd.getAlternateNumber()); 
     System.out.println(cd.getCity()); 
     System.out.println(cd.getEmailAddress()); 
     System.out.println(cd.getMobileNumber()); 
     System.out.println(cd.getPinCode()); 
     System.out.println(cd.getPostOffice()); 
     System.out.println(cd.getState()); 
     System.out.println(cd.getStreet()); 

     spd.setQualificationDetails(qd); 
     spd.setContactDetails(cd); 


     try { 
      Sbo.saveOrUpdate(spd); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     return "success"; 
    } 

    @Override 
    public void prepare() throws Exception { 

    } 

    public void setSpd(StudentPersonalDetails spd) { 
     this.spd = spd; 
    } 

    public void setCd(ContactDetails cd) { 
     this.cd = cd; 
    } 

    public void setQd(QualificationDetails qd) { 
     this.qd = qd; 
    } 

    public void setSbo(StudentsBO sbo) { 
     Sbo = sbo; 
    } 

} 

XML: applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:jee="http://www.springframework.org/schema/jee" 
xmlns:lang="http://www.springframework.org/schema/lang" 
xmlns:p="http://www.springframework.org/schema/p" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:util="http://www.springframework.org/schema/util" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd 
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd 
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> 

<import resource="classpath*:SusBusinessServiceLayerSpringConfig*.xml"/> 

<bean name="ApplicationAction" class="org.Student.ActionClasses.ApplicationAction" scope="prototype"> 
    <property name="spd"> 
     <ref bean="StudentPersonalDetailsBean"/> 
    </property> 

</bean> 
</beans> 

XML: web.xml

<?xml version="1.0" encoding="UTF-8"?> 
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> 
    <display-name>Embedded Student Test</display-name> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/applicationContext.xml 
    </param-value> 
</context-param> 

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
    </filter> 

    <filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    </web-app> 

теперь дело в том, что, когда я развернуть военный файл в Apache Tomcat и fillup СПЯ образуют нулевые значения переменной печати actionclass модели. Я не понимаю, почему.

я забыл упомянуть, вот 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.devMode" value="true" /> 
    <constant name="struts.custom.i18n.resources" value="messages" /> 

    <package name="default" extends="struts-default"> 

    <action name="addStudentAction" class="org.Student.ActionClasses.ApplicationAction" method="addStudent" > 
      <result name="success">/ApplyOnline/RegistrationSucessful.jsp</result> 
      <result name="input">/ApplyOnline/ApplicationForm.jsp</result> 
      <result name="failure">/ApplyOnline/ApplicationForm.jsp</result> 

     </action> 

    </package> 

</struts> 

ответ

1

Поскольку вы экземпляр класса модели слишком поздно. Вы должны сделать это до перехватчика params. Вы можете сделать это inline или в конструкторе, но не в методе validate.

private StudentPersonalDetails spd = new StudentPersonalDetails(); 
private ContactDetails cd = new ContactDetails() ; 
private QualificationDetails qd = new QualificationDetails() ; 

public void validate() {  
     System.out.println("validate Method Called"); 

spd = new StudentPersonalDetails();

РЕДАКТИРОВАТЬ:

Конфигурация пружина должна быть

<bean id="ApplicationAction" class="org.Student.ActionClasses.ApplicationAction" scope="prototype"/> 

Struts конфигурации

<action name="addStudentAction" class="ApplicationAction"> 
+0

Я уже это сделал. Но ничего не меняется. – ARNAB2012

+0

Какие изменения? См. Обновления. –

+0

метод проверки класса действия, все еще дающий null в консоли для его system.out.pritln (spd.getFirstName), .... методы – ARNAB2012

Смежные вопросы