日期:2014-05-20  浏览次数:20689 次

关于spring两个很棘手的问题,高手帮帮我把,呜呜
两个关于spring的棘手问题:
第一个问题:我做项目的时候没有使用spring,使用的是struts跟hibernate,现在老师让加上spring。当我点击修改数据

按钮的时候,填写好了修改的数据之后,提交到了action中:
/**
* 更新用户信息的方法
* @return
*/
public String updateSuccess(){
users.setWorkid(users.getWorkid());
users.setUsername(users.getUsername());
users.setAge(users.getAge());
  users.setGender(users.getGender());
  users.setPhone(users.getPhone());
  users.setAddress(users.getAddress());
  System.out.println(users.getAddress());
  users=usersServiceIn.updateUsers(users);
  if(users!=null){
  return "update";
  }
  else{
  return ERROR;  
  }
   

}
返回的字符串是update,然后类型是chain,然后提交到了
/**
* 处理用户登录成功的方法
* @return
*/
public String loginSuccess() {
//将传过来的对象放入到u中
users.setWorkid(users.getWorkid());
users.setPassword(users.getPassword());
System.out.println(users.getWorkid());
System.out.println(users.getPassword());
//布尔类型的变量接收参数
boolean flag = usersServiceIn.isLogin(users);
System.out.println(flag);
if(flag){
//调用显示个人信息的方法
showUsersByWorkId();
//拿出用户的权限
// String typemsg=usersServiceIn.getTypeMsg(users.getWorkid());
//使用map获得session
ActionContext context = ActionContext.getContext();
Map session = context.getSession();
  session.put("users", users);
// session.put("typemsg", typemsg);
//登陆成功
return SUCCESS;
}else {
//添加错误的信息
addFieldError("loginError", "用户名或者密码错误!");
//返回错误的字符串
return ERROR;
}

}

/**
* 根据工号显示用户信息的方法
* @return
*/
public String showUsersByWorkId(){
//创建业务逻辑的对象
List<Users> oneUser = usersServiceIn.getUsersByWorkId(users.getWorkid());
//将list放入到session中
ActionContext context = ActionContext.getContext();
Map session = context.getSession();
session.put("oneUser", oneUser);
return SUCCESS;
}
显示出了页面。。
但是使用了spring之后,提交数据之后,重新chain到loginSuccess()居然返回了error,拿不到用户名和密码了。
怎么办啊?直接返回了error。
struts配置:
<package name="users" extends="struts-default">  
  <action name="Users_loginSuccess" class="Users_loginSuccess" method="loginSuccess"> 
  <result>/users/Users_loginSuccess.jsp</result>
  <result name="error">/login.jsp</result>
  </action>  
   
  <action name="Users_updateSuccess" class="Users_updateSuccess" method="updateSuccess"> 
  <result name="update" type="chain">Users_loginSuccess</result>
  </action>  
</package>

spring的配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/shallow"></property>
<property name="username" value="root"></property>
<property name="password" value="tiger"></property>
  </bean>
   
  <bean id="sessionFactory" 

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">