67,512
社区成员
发帖
与我相关
我的任务
分享
$(document).ready(function()
{
var account=$("#account").html();
$.get("showUsers?account="+account,null,callbackShowUsers);
}
);
function callbackShowUsers(data)
{
alert(data);
$("#listen").html(data);
}
<action name="showUsers" class="com.ld.blog.action.LoginAction" method="showUsers">
<result name="success">/myBlog.jsp</result>
</action>
com.ld.blog.action.LoginAction.showUsers():
public String showUsers() throws IOException
{
List userList=getRandomUsers();
PrintWriter out=MyConfig.getPrintWriter();
User u;
for(int i=0;i<userList.size();i++)
{
u = (User)(userList.get(i));
out.println("<span id="+u.getId()+">"+u.getUsername()+"<input type=button
value='收听' onclick='listen("+u.getId()+")'/></span>");
}
return null;
}
com.ld.blog.action.LoginAction.getRandomUsers():
//用于随即产生推荐收听的用户
public List getRandomUsers()
{
List userList = new ArrayList();
UserService us=(UserService)MyConfig.getServiceObj("UserService");
ListenService ls=(ListenService)MyConfig.getServiceObj("ListenService");
//获取当前已注册的用户总数
int num=us.getUserNum();
int myId=us.getUserIdByAccount(account);
//获取listen这张表中listenerId,通过用户的id获取他收听的人的Id
//listen表结构:id 主键,userId,listenerId(userId收听listenerId)
//"select l.listenerId from Listen as l where l.userId="+id;
List listenList=ls.getListenByUserId(myId);
System.out.println("当前用户总数:"+num);
if(num<=5)
{
for(int i=0;i<num;i++)
{
//推荐收听的用户不是已收听的和自己
System.out.println(!listenList.contains(i+1));
if(!listenList.contains(i+1)&&i+1!=myId)
{
//getUserObjById(id)根据用户的id获取User 对象
userList.add(i, us.getUserObjById(i+1));
}
}
}
else
{
//在0-num中产生一个数作为起始的id
int id=(int)Math.random()*num;
System.out.println("随机id:"+id);
User u;
//随即产生推荐用户
for(int i=0;i<5;i++)
{
u=us.getUserObjById(id);
System.out.println(!listenList.contains(id));
if(!listenList.contains(id)&&id!=myId)
{
userList.add(i, u);
}
id++;
if(id>num)
{
id=id-num;
}
}
}
return userList;
}