abatis实现从页面读取数据添加到数据库全过程
库设计table 001
字段 Id int nonull
userName varchar null
password varchar null
role_id varchar null
------------------------------------------------------------------------------------------------------------
页面------------------ insert.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for InsertForm form</title>
</head>
<body>
<html:form action="/insert">
userName : <html:text property="userName"/><html:errors property="userName"/><br/>
password : <html:text property="password"/><html:errors property="password"/><br/>
role_id : <html:text property="role_id"/><html:errors property="role_id"/><br/>
<html:submit/>
</html:form>
</body>
</html>
formbead------------InsertForm.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.dd.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
/**
* MyEclipse Struts
* Creation date: 06-07-2007
*
* XDoclet definition:
* @struts.form name="insertForm"
*/
public class InsertForm extends ActionForm {
/*
* Generated fields
*/
/** userName property */
private String userName;
/** rold_id property */
private String role_id;
/** password property */
private String password;
/*
* Generated Methods
*/
/**
* Method validate
* @param mapping
* @param request
* @return ActionErrors
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// TODO Auto-generated method stub
return null;
//ActionErrors errors=new ActionErrors();
//if((userName==null)||(userName.length()<1)) {
// errors.add("userName",new ActionError("jsp.hello.error") );
// }
// if((password==null)||(password.length()<1)) {
// errors.add("password",new ActionError("jsp.hello.error") );
// }
// return errors;
}
/**
* Method reset
* @param mapping
* @param request
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
// TODO Auto-generated method stub
this.userName=null;
this.password=null;
this.role_id=null;
}
/**
* Returns the userName.
* @return String
*/
public String getUserName() {
return userName;
}
/**
* Set the userName.
* @param userName The userName to set
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* Returns the rold_id.
* @return String
*/
public String getRole_id() {
return role_id;
}
/**
* Set the rold_id.
* @param rold_id The rold_id to set
*/
public void setRole_id(String rold_id) {
this.role_id = rold_id;
}
/**
* Returns the password.
* @return String
*/
public String getPassword() {
return password;
}
/**
* Set the password.
* @param password The password to set
*/
public void setPassword(String password) {
this.password = password;
}
}
控制层-------------InsertAction.java
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.dd.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import cn.gov.core.server.pm.IPersistenceManager;
import cn.gov.core.server.pm.ITransaction;
import cn.gov.core.server.pm.util.PersistenceUtil;
import com.ewansoft.struts.utils.Constants;
import com.ewansoft.struts.utils.SequenceGenerator;
import com.dd.struts.dao.ddDao;
import com.dd.struts.dto.ddDto;
import com.dd.struts.form.InsertForm;
/**
* MyEclipse Struts
* Creation date: 06-07-2007
*
* XDoclet definition:
* @struts.action path="/insert" name="insertForm" input="/dd/insert.jsp" scope="request" validate="true"
*/
public class InsertAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
InsertForm insertForm = (InsertForm) form;// TODO Auto-generated method stub
ddDto dto=new ddDto();
dto.setId(""+SequenceGenerator.getNextId()); //写个自动生成Id功能的函数
dto.setUserName(insertForm.getUserName());
dto.setPassword(insertForm.getPassword());
dto.setRole_id(insertForm.getRole_id());
IPersistenceManager pm=PersistenceUtil.getPM(Constants.DATA_SOURCE);//写个持久层操作包PM
ddDao ZDao=new ddDao();
ZDao.setTranPM(pm);
ZDao.insert(dto);
return mapping.findForward("welcome");
}
}
实体-----------------ddDto
/*@author dd_2007,创建日期2007-6-7
*
*javaco
*/
package com.dd.struts.dto;
public class ddDto {
private String id;
private String userName;
private String password;
private String role_id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRole_id() {
return role_id;
}
public void setRole_id(String role_id) {
this.role_id = role_id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
-----数据操作层--------ddDao
/*@author dd_2007,创建日期2007-6-7
*
*javaco
*/
package com.dd.struts.dao;
import cn.gov.core.server.pm.PersistenceException;
import cn.gov.core.server.pm.ILargeResult;
import cn.gov.core.server.pm.PersistenceException;
import com.ewansoft.struts.dao.BaseFormDao;
import com.ewansoft.struts.utils.SequenceGenerator;
import com.ewansoft.struts.utils.StringUtil;
import com.dd.struts.dto.ddDto;
public class ddDao extends BaseFormDao {
/*
* inset 添加ddDto记录
*/
public void insert(ddDto dto) {
try {
pm.insert("InsertddDto", dto);
}
catch (PersistenceException e) {
e.printStackTrace();
}
finally {
}
}
}
配置SQL语句的XML文件-----dd.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="dd">
<typeAlias alias="ddDto" type="com.dd.struts.dto.ddDto"/>
<insert id="InsertddDto" parameterClass="ddDto">
insert into ctwob.001(
id,
userName ,
password ,
role_id
)
values (
#id#,
#userName# ,
#password#,
#role_id#
)
</insert>
</sqlMap>
mapping 配置文件struts-config.xml
<action
attribute="insertForm"
input="/dd/insert.jsp"
name="insertForm"
path="/insert"
scope="request"
type="com.dd.struts.action.InsertAction" >
<forward name="welcome" path="/dd/welcome.jsp" />
</action>