def execute(self): params = ParamUtil(request) self.userName = params.safeGetStringParam("loginName") title = params.safeGetStringParam("title") userCateId = params.safeGetIntParam("userCateId") #print "-----------------------------category_video.py-----------------------------" #print "self.userName="******"title="+title #print "userCateId="+str(userCateId) if userCateId == 0: response.getWriter().write( u"<div style='text-align:center;'>请选择一个个人视频分类。</div>") return fc = FileCache() content = fc.getUserFileCacheContent( self.userName, "category_video_" + str(userCateId) + ".html", 30) if content != "": response.getWriter().write(content) fc = None return count = params.safeGetIntParam("count") if count == 0: count = 9 #print "count="+str(count) user = __jitar__.userService.getUserByLoginName(self.userName) if user == None: response.getWriter().write(u"不能加载当前用户。") return qry = VideoQuery( """ v.videoId, v.title, v.createDate, v.href, v.flvHref, v.userId, u.loginName, u.nickName, v.summary,v.flvThumbNailHref """ ) qry.userCateId = userCateId qry.userId = user.userId video_list = qry.query_map(count) templateProcessor = __spring__.getBean("templateProcessor") map = HashMap() map.put("video_list", video_list) map.put("UserSiteUrl", self.getUserSiteUrl()) map.put("userCateId", userCateId) map.put("title", title) map.put("user", user) content = templateProcessor.processTemplate( map, "/WEB-INF/user/default/category_video.ftl", "utf-8") fc.writeUserFileCacheContent( self.userName, "category_video_" + str(userCateId) + ".html", content) response.getWriter().write(content) fc = None
def execute(self): self.params = ParamUtil(request) self.loginName = request.getAttribute("loginName") title = self.params.safeGetStringParam("title") if title != "": request.setAttribute("title", title) # 解析 uri if self.parseUri() == False: print "return 1" return self.sendNotFound(self.uri) # 得到要工作室主人, 并验证用户状态 self.user = user_svc.getUserByLoginName(self.loginName) request.setAttribute("user", self.user) request.setAttribute("loginUser", self.loginUser) #print "self.user = "******"return 2" return self.ACCESS_ERROR request.setAttribute("loginUser", self.loginUser) # 得到要访问的分类, 要验证分类的确属于该用户. self.category = self.getCategory() #print "self.category = ", self.category if self.category == None: print "return 3" return self.sendNotFound() request.setAttribute("category", self.category) # 创建分页对象 pager = self.params.createPager() pager.setPageSize(18) qry = VideoQuery( """ v.videoId, v.title, v.createDate, v.href, v.flvHref, v.userId, u.loginName, u.nickName, v.summary,v.flvThumbNailHref """ ) qry.userCateId = self.category.categoryId qry.userId = self.user.userId #print "userStapleId = ", userStapleId pager.totalRows = qry.count() pager.itemName = u"视频" pager.itemUnit = u"个" qry.orderType = 0 result = qry.query_map(pager) request.setAttribute("video_list", result) request.setAttribute("pager", pager) hql = """SELECT new Map(p.skin as skin) FROM Page p WHERE p.name = 'index' and p.objId = :userId and p.objType = 1 """ pageSkin = Command(hql).setInteger("userId", self.user.userId).first() # 构造页面数据,由于页面不是在数据库存在的,这里的数据是虚拟数据. #pages : [{id: ${page.pageId}, title: '${user.blogName!?js_string}', layoutId: ${page.layoutId!0} }], page = { "pageId": 0, "layoutId": 2, # 固定是布局2 "isSystemPage": "true", "owner": "user", "title": "", "skin": pageSkin["skin"] } request.setAttribute("page", page) self.page = self.getUserProfilePage(self.user) if self.page.customSkin != None: customSkin = JSONObject.parse(self.page.customSkin) request.setAttribute("customSkin", customSkin) # 构造widgets . widgets = [{ "id": "1", "pageId": 0, "columnIndex": 1, "title": u"个人档案", "module": "profile", "ico": "", "data": "" }, { "id": "placerholder1", "pageId": 0, "columnIndex": 2, "title": "", "module": "placeholder", "ico": "", "data": "" }] request.setAttribute("widgets", widgets) request.setAttribute("widget_list", widgets) response.setContentType("text/html; charset=UTF-8") return "/WEB-INF/user/default/video_category_index.ftl"