非常奇怪的问题 我用的S1+S+H做的框架,添加消息成功后会在主表和子表各添加一条数据,但现在需求是要能一次循环添加多条,现在已提交进入各ACTION循环3次,玩了后 子表正常三条数据,但主表不知道为什么成1条数据, 子表的外键全是挂在一个建上,这是怎么回事啊!我的映射关系是1对多 会跟这个有关系吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { MessageForm messageForm = (MessageForm) form; // 创建session HttpSession session = request.getSession(); // 判断是否登录 TblLoginUser user = (TblLoginUser) session.getAttribute("user"); // 上传图片 String returnName = MyStringHelp.UploadImg(messageForm.getFormFile(), request, null); // 获得课程信息的费用和周期 Double fees = Double.parseDouble(request.getParameter("feiyong1")); String cycle = request.getParameter("zhouqi"); // 子类目 TblCategoryChild tblcc = categorychildbiz.findById(Integer .parseInt(messageForm.getChildId())); // 获得课程信息 TblMessageCourse tblmc = messageForm.getTblmc(); tblmc.setCourseFees(fees); // 费用 tblmc.setCourseCycle(cycle); // 周期 String courseClaimValue = tblmc.getCourseName() + MyStringHelp.getDateTime(); // 表示将要查询的字段 tblmc.setCourseClaim(courseClaimValue); // 获得发布信息 TblMessage tblm = messageForm.getTblMessage(); tblm.setMessageTitle(tblmc.getCourseName()); tblm.setManagementIp(ListIP.getWebIp(request)); // 添加客户端IP tblm.setMessageStartdate(new Date()); tblm.setRoleId(1); // 信息状态 tblm.setMessageLogo(returnName); // 上传的图片 // 放用户存在将用户信息注入发布信息 if (user != null) { if (user.getUserName() != null) { List tbluList = userBiz.queryUserByName(user.getUserName()); if (tbluList != null && tbluList.size() != 0) { TblLoginUser tblu = (TblLoginUser) tbluList.get(0); tblm.setTblLoginUser(tblu); } } } // 获得区域单选 String selectRdo = request.getParameter("rdo1"); if ("one".equals(selectRdo)) { tblm.setTblCategoryChild(tblcc); // 子类目 // 将课发布信息注入课程信息 tblmc.setTblMessage(tblm); // 获得区域 TblQu tblQu = qubiz.findById(Integer.parseInt(messageForm .getSelectQuId())); // 将区域注入到课程信息 if (tblQu != null) { tblmc.setTblQu(tblQu); } // 调用添加方法 boolean bool = donaldMessageCourseBiz.save(tblmc); // 当添加成功后取得所添加的对象 if (bool) { TblMessageCourse tblMessageCourse = messageCoursebiz .findByClaim(courseClaimValue); // 将该对象放进作用域中 request.setAttribute("tblMessageCourse", tblMessageCourse); } return mapping.findForward("re_success"); } else { // 多选城市添加 String manyCityS = request.getParameter("txtManyCitys2"); // 调用分割方法 String[] cityNames = MyStringHelp.get_String(manyCityS); if (cityNames != null && cityNames.length != 0) { // 遍历分割后的数组 for (int i = 0; i < cityNames.length; i++) { if (cityNames[i] != null && cityNames[i].length() != 0) { tblm.setTblCategoryChild(tblcc); // 子类目 // 将课发布信息注入课程信息 tblmc.setTblMessage(tblm); //循环区域消息 TblQu tblQu = qubiz.findById(Integer.parseInt(cityNames[i])); // 将区域注入到课程信息 if (tblQu != null) { tblmc.setTblQu(tblQu); } donaldMessageCourseBiz.save(tblmc); } } return mapping.findForward("re_success"); } } return null; }但选择一个城市添加的时候,A和B两张表数据正常各自一条,但选择多个城市的时候循环的时候子表的三条数据全关联到主表了!(A和B 的数据条数怎么会不一致) java web中文传值问题,急 请大侠帮忙解决struts 2 方面的问题 unable to locate tools.jar SSH框架中获得参数 关于struts1和struts2 webwork 中怎样在页中显示验证错误信息 在spring里使用validator,必须得用struts吗? 各位仁兄,有对SOAP熟悉的吗?我想使用SOAP在一个C++的客户端与Tomcat通讯,然后把处理结果记录数据库,请问如何实现? Tomcat配置问题,在线! 求助,立刻给分 多图片上传 spring3.0 restful
HttpServletRequest request, HttpServletResponse response)
throws Exception {
MessageForm messageForm = (MessageForm) form; // 创建session
HttpSession session = request.getSession(); // 判断是否登录
TblLoginUser user = (TblLoginUser) session.getAttribute("user"); // 上传图片
String returnName = MyStringHelp.UploadImg(messageForm.getFormFile(),
request, null);
// 获得课程信息的费用和周期
Double fees = Double.parseDouble(request.getParameter("feiyong1"));
String cycle = request.getParameter("zhouqi"); // 子类目
TblCategoryChild tblcc = categorychildbiz.findById(Integer
.parseInt(messageForm.getChildId()));
// 获得课程信息
TblMessageCourse tblmc = messageForm.getTblmc();
tblmc.setCourseFees(fees); // 费用
tblmc.setCourseCycle(cycle); // 周期
String courseClaimValue = tblmc.getCourseName()
+ MyStringHelp.getDateTime(); // 表示将要查询的字段
tblmc.setCourseClaim(courseClaimValue);
// 获得发布信息
TblMessage tblm = messageForm.getTblMessage();
tblm.setMessageTitle(tblmc.getCourseName());
tblm.setManagementIp(ListIP.getWebIp(request)); // 添加客户端IP
tblm.setMessageStartdate(new Date());
tblm.setRoleId(1); // 信息状态
tblm.setMessageLogo(returnName); // 上传的图片
// 放用户存在将用户信息注入发布信息
if (user != null) {
if (user.getUserName() != null) {
List tbluList = userBiz.queryUserByName(user.getUserName());
if (tbluList != null && tbluList.size() != 0) {
TblLoginUser tblu = (TblLoginUser) tbluList.get(0);
tblm.setTblLoginUser(tblu);
}
}
}
// 获得区域单选
String selectRdo = request.getParameter("rdo1");
if ("one".equals(selectRdo)) {
tblm.setTblCategoryChild(tblcc); // 子类目
// 将课发布信息注入课程信息
tblmc.setTblMessage(tblm);
// 获得区域
TblQu tblQu = qubiz.findById(Integer.parseInt(messageForm
.getSelectQuId()));
// 将区域注入到课程信息
if (tblQu != null) {
tblmc.setTblQu(tblQu);
}
// 调用添加方法
boolean bool = donaldMessageCourseBiz.save(tblmc);
// 当添加成功后取得所添加的对象
if (bool) {
TblMessageCourse tblMessageCourse = messageCoursebiz
.findByClaim(courseClaimValue);
// 将该对象放进作用域中
request.setAttribute("tblMessageCourse", tblMessageCourse);
}
return mapping.findForward("re_success");
} else {
// 多选城市添加
String manyCityS = request.getParameter("txtManyCitys2");
// 调用分割方法
String[] cityNames = MyStringHelp.get_String(manyCityS);
if (cityNames != null && cityNames.length != 0) {
// 遍历分割后的数组
for (int i = 0; i < cityNames.length; i++) {
if (cityNames[i] != null && cityNames[i].length() != 0) {
tblm.setTblCategoryChild(tblcc); // 子类目
// 将课发布信息注入课程信息
tblmc.setTblMessage(tblm);
//循环区域消息
TblQu tblQu = qubiz.findById(Integer.parseInt(cityNames[i]));
// 将区域注入到课程信息
if (tblQu != null) {
tblmc.setTblQu(tblQu);
}
donaldMessageCourseBiz.save(tblmc);
}
}
return mapping.findForward("re_success");
}
}
return null;
}但选择一个城市添加的时候,A和B两张表数据正常各自一条,但选择多个城市的时候循环的时候子表的三条数据全关联到主表了!(A和B 的数据条数怎么会不一致)