这是代码!private void createNewUser(WebContext wctx) {

String userName = wctx.getParameter("userName");
String password = wctx.getParameter("password");
String fullName = wctx.getParameter("fullName");
String email = wctx.getParameter("email");
String expiredDate = wctx.getParameter("expiredDate");
String companyId = wctx.getParameter("companyId");

String[] rawData = wctx.getParameterValues("raw_data");
String[] rawReport = wctx.getParameterValues("raw_report");
String[] rawFigure = wctx.getParameterValues("raw_figure");
String[] resultData = wctx.getParameterValues("result_data");
String[] resultReport = wctx.getParameterValues("result_report");
String[] resultFigure = wctx.getParameterValues("result_figure");
String upload = wctx.getParameter("upload_data");

SqlMapClient sqlmap = null;
try{
sqlmap = SQLConfig.getSqlMapInstance();
sqlmap.startTransaction();
User user = (User)sqlmap.queryForObject("getUserInfoByName", userName);
if(user == null) {
//create new user.
System.out.println("wo jin if l ");
user = new User();
int userId = ((Integer)sqlmap.queryForObject("getUserId")).intValue();
user.setUserId(userId);
user.setUserName(userName);
user.setPassword(new MD5().getMD5ofStr(password));
user.setFullName(fullName);
user.setEmail(email);
//SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
//java.util.Date expDate = df.parse(expiredDate);
if(expiredDate != null && !expiredDate.equals("")){
Date date = DateFormat.getDateInstance().parse(expiredDate);
user.setExpiredDate(date);
} user.setCompanyId(Integer.parseInt(companyId));
User loginUser = (User)wctx.getSession().getAttribute("currentUserInfo");
//user.setCreateAdmin(loginUser.getUserName());
user.setCreateAdmin("CDA");

sqlmap.insert("createUser", user);

HashMap map = new HashMap();
map.put("userId", new Integer(userId));
map.put("listId", "-1");
sqlmap.insert("createProfile", map);
//grant rights for user.
String flag = "grant";
grantUserRight(sqlmap, rawData, userId, Integer
.parseInt(companyId), "raw_data", loginUser, null, flag);
grantUserRight(sqlmap, rawReport, userId, Integer
.parseInt(companyId), "raw_report", loginUser, null,
flag);
grantUserRight(sqlmap, rawFigure, userId, Integer
.parseInt(companyId), "raw_figure", loginUser, null,
flag);
grantUserRight(sqlmap, resultData, userId, Integer
.parseInt(companyId), "result_data", loginUser, null,
flag);
grantUserRight(sqlmap, resultReport, userId, Integer
.parseInt(companyId), "result_report", loginUser, null,
flag);
grantUserRight(sqlmap, resultFigure, userId, Integer
.parseInt(companyId), "result_figure", loginUser, null,
flag);
if(upload != null)
grantUserRight(sqlmap, new String[] { upload }, userId, Integer
.parseInt(companyId), "upload_data", loginUser, null,
flag);
wctx.setAttribute("msg", "新建用户[" + userName + "]成功!");
wctx.setAttribute("flag", "refresh");
}else{
System.out.println("wo jin else l ");
wctx.setAttribute("msg", "用户 [" + userName + "]以存在!");
}

sqlmap.commitTransaction();

}catch(Exception exp) {
logger.error("setup a user! " + exp.getMessage(), exp);
wctx.setAttribute("msg", "新建用户[" + userName + "] 失败");
}finally{
if(sqlmap != null) {
try{
sqlmap.endTransaction();
}catch(Exception exp1) {
logger.error("Setup a user " + exp1.getMessage(), exp1);
}
}
}
}