<!--StartFragment -->
* 发布制度 *
*/
public String add() {
String result = "error";
try {
//userinfoService.update(institution.getUserinfo().getUserId());
result = "success";
} catch (Exception ex) {
//ex.printStackTrace();
}
return result;
}
<!--StartFragment -->
做登陆的那哥们有这么一句
[quote] Struts2Utils.getSession().setAttribute("username", username); [/quote]
这个是应该是把username放到了session中,他既然把username放到了session,显然是他已经成功的验证了用户,那么他肯定确定了一个唯一的user,也就可以得到userId,应该在 Struts2Utils.getSession().setAttribute("username", username); 这句后面加一句,形式可能是这样Struts2Utils.getSession().setAttribute("userId", userId); 添加这句的前提是验证后获取userId,这个你跟他说,userId需要他给你提供,让他加。
另外,你们是不是用了hibernate啊?Institution实体类中与用户有关的属性是userId啊还是一个User类类型的user,如果是User类类型的user那么下面这个
[quote]String userId=Struts2Utils.getSession().getAttribute("userId").toString();
userinfo = userinfoService.findById(userId); [/quote]
改成
int userId=Integer.parseInt(Struts2Utils.getSession().getAttribute("userId").toString());
userinfo = userinfoService.findById(userId);
institution=new Institution();
institution.setUserinfo(userinfo);
。。。。注入页面获取的其他发布信息
institutionService.save(institution);
如果Institution类中式userId那么
userinfo = userinfoService.findById(userId);是不需要的;
int userId=Integer.parseInt(Struts2Utils.getSession().getAttribute("userId").toString());
userinfo = userinfoService.findById(userId);
institution=new Institution();
institution.setUserId(userId);
。。。。注入页面获取的其他发布信息
institutionService.save(institution);
注意userId的类型