使用ssh框架实现添加的功能,页面传回的数据使用模型驱动技术实现封装,但是在运行时在action获取到的对象并未将前台的数据封装进去,代码如下:
需要封装的实体类
public class Visit {
private String vid;//编号
private String vDate;//拜访日期
private String vAddress;//拜访地址
private String vDetail;//拜访详情
private Customer vCustomer;
private User vUser;
public String getVid() {
return vid;
}
public void setVid(String vid) {
this.vid = vid;
}
public String getvDate() {
return vDate;
}
public void setvDate(String vDate) {
this.vDate = vDate;
}
public String getvAddress() {
return vAddress;
}
public void setvAddress(String vAddress) {
this.vAddress = vAddress;
}
public String getvDetail() {
return vDetail;
}
public void setvDetail(String vDetail) {
this.vDetail = vDetail;
}
public Customer getvCustomer() {
return vCustomer;
}
public void setvCustomer(Customer vCustomer) {
this.vCustomer = vCustomer;
}
public User getvUser() {
return vUser;
}
public void setvUser(User vUser) {
this.vUser = vUser;
}
}
struts.xml配置
<!-- 配置拜访管理action -->
<interceptor-ref name="defaultStack"></interceptor-ref>
<!-- 配置结果集 -->
<result name="toAdd">/jsp/visit/add.jsp</result>
<result name="list">/jsp/visit/list.jsp</result>
<result name="edit">/jsp/visit/edit.jsp</result>
</action>
spring配置文件中的配置
<!-- 配置拜访管理实体类 -->
<bean id="visit" class="crm.domain.Visit"></bean>
<bean id="visitAction" class="crm.action.VisitAction" scope="prototype">
<property name="service" ref="visitService"></property>
</bean>
<bean id="visitService" class="crm.service.impl.VisitServiceImpl">
<property name="dao" ref="visitDao"></property>
</bean>
<bean id="visitDao" class="crm.dao.impl.VisitDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
~~~~~~~~~~~~~~~~~~
action实例
public class VisitAction extends ActionSupport implements ModelDriven<Visit> {
private Visit visit = new Visit();
private VisitService service;
public void setService(VisitService service) {
this.service = service;
}
@Override
public Visit getModel() {
// TODO Auto-generated method stub
return visit;
}
//添加拜访
public String add(){
service.save(visit);
return SUCCESS;
}
}
前台页面回传的参数名与实体类一致