首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

BaseAction的缓冲打包

2012-10-06 
BaseAction的缓冲封装在baseAction中对数据进行get和set方法,然后在一个拦截器中,将有效数据进行封转。封转

BaseAction的缓冲封装

在baseAction中对数据进行get和set方法,然后在一个拦截器中,将有效数据进行封转。封转到数据sessionUserVO里面,在拦截器里面吧数据进行封转然后放入缓冲中,供action调用。这种方法减少里数据的调用的次数,action寻找有效的参数更加方便。

?

public String returnCode="";
?/** 返回信息 */
?public String returnMsg="";
?/** 用户ID **/
?public long userId=0;
?/** 用户名 */
?public String userName="";
?/** 用户token **/
?public String userToken="";
?/** 用户VO*/
?public SessionUserVO sessionUserVO;

?

get和set方法

?

在拦截器里面进行数据的封装

public String intercept(ActionInvocation invocation) throws Exception {
??
??Action action = (Action) invocation.getAction();
??if (action instanceof BaseAction) {
???BaseAction baseAction = (BaseAction) action;
???long userId=? baseAction.getUserId();
???String userToken = baseAction.getUserToken();
???if (userId == 0 || userToken == null || userToken.equals("")) {
????return AuthorConstant.INVALID_LOGIN;
???}
???SessionUserVO sessionUser = (SessionUserVO) MemcacheUtil.getSessionObject(String.valueOf(userId));
???if (sessionUser != null && !sessionUser.getUserToken().equals(userToken)) {
????return AuthorConstant.INVALID_LOGIN;
???}
???if (sessionUser == null) {
????User user = userDao.getUser(userId,userToken);
????if (user == null) {
?????return AuthorConstant.INVALID_LOGIN;
????}
????sessionUser = new SessionUserVO();
????sessionUser.setUserId(user.getUserId());
????sessionUser.setUserName(user.getUserName());
????sessionUser.setUserToken(user.getUserToken());
????sessionUser.setLoginTime(user.getLoginTim());
????sessionUser.setOnlineTime(user.getOnlineTime());
????sessionUser.setTotalInfullNum(user.getTotalInfullNum());
????SessionUtil.setMemcachedUser(sessionUser);
???}
???baseAction.setUserName(sessionUser.getUserName());
???baseAction.setSessionUserVO(sessionUser);
??}
??return invocation.invoke();

?

?

?

?

?

热点排行