最新公告:goCom系统调整暂停注册,若需注册请访问gocom.cc地址进行操作。请点击此处
 
  网站地图
  
  高级搜索
  首页   技术论坛   博客 派计划   产品中心   资源中心   银弹在线   商城  


 [无发表权] 请登录或者注册          版主: wl95421



如何实现“邀请朋友”功能    
#1楼
给作者发送短消息 给作者发送短消息  
查看用户其他信息
总分 12 分
财富 12 goCom币
威望 1
排名 :(
段位 新手必读
我想要实现“邀请朋友”功能,例如邀请好友加入小组,好友列表:
  DataView invitedUsers = new DataView("friends", getUserInviteAbleFriends(), 8) {

            private static final long serialVersionUID = -5281645777082943977L;

            @Override
            protected void populateItem(Item item) {
                Object o = item.getModelObject();
                if (o instanceof User) {
                    User friend = (User) o;
                    item.add(new Check("check", new Model(friend)));
                  ..............
               }};
为了能够全选,我选择了使用‘CheckGroup’
CheckGroup checkgroup = new CheckGroup("checkFrienders",new ArrayList());
checkgroup.add(new CheckGroupSelector("allSelect"));
checkgroup.add(invitedUsers);
最后加到Form里,memberForm继承自StalelessForm(无状态)
        memberForm.add(new PageNavigator("navigator", invitedUsers));
        memberForm.add(checkgroup);

在提交表单时会报错,在validate时找不到 check ,也就是在invitedUsers 下的children为Null。

at org.apache.wicket.markup.html.form.CheckGroup.convertValue(CheckGroup.java:134)
at org.apache.wicket.markup.html.form.CheckGroup.convertValue(CheckGroup.java:59)
at org.apache.wicket.markup.html.form.FormComponent.convertInput(FormComponent.java:1206)
at org.apache.wicket.markup.html.form.FormComponent.validate(FormComponent.java:1110)
at org.apache.wicket.markup.html.form.Form$20.validate
如果
StalelessForm(无状态)该为有状态就能找到check。

不知道有没有说明白,请高手指教
 

Re: 如何实现“邀请朋友”功能    
#2楼
给作者发送短消息 给作者发送短消息 实名会员 
查看用户其他信息
总分 8581 分
财富 9346 goCom币
威望 8254
排名 第 1 名
段位 新手必读
你这种需求应该属于stateful的需求啊
因为stateless页面没有序列化在session中
stateless页面不合适做这种有数据处理的页面
 

Re: 如何实现“邀请朋友”功能    
#3楼
给作者发送短消息 给作者发送短消息  
查看用户其他信息
初级会员
 




发表回复
账号用户名   密码   登录
内容:url email imgsrc image code quote
范例 Example
bold italic underline linethrough   


 [更多...]