-
【Struts2】如何处理网站首页中的各个子栏目或频道?5
网站的首页一般都会调用很多栏目的最新内容,但是一个action往往只能完成一项任务,请教如何通过一个参数来控制各个栏目的数据调用?
第一次学习struts2,一直没有搞明白?希望大家帮助。
问题补充:
多个list的确可以做在action中,但是灵活性和效率都很差。我希望能够使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代。
从灵活性,效率上来说还有没有更好的方法?
谢谢!
问题补充:
【例如javaeye的首页】
http://www.iteye.com/
《Java编程和企业应用热点》和《动态语言编程热点》等栏目都是调用同一个数据库知识分类不同而已,难道没有更简单的办法吗?
问题补充:引用你可以把这些操作都封装成一个服务层的方法,每次只要传栏目的ID,再调用服务层的方法,就可以得到该栏目下对应的记录。
如何与action联系呢,url调用的时候毕竟对应一个action,对于数据不同类型有异的返回也就是一个result.
那么如何根据不同的类别(参数)返回不同的result?
问题补充:
【sunlightcs 】
尽管不是我所期盼的答案,还是很感谢您。
谢谢!
问题补充:
【一般可以使用ajax异步加载首页内容,这个时候Ba类的queryList可以返回JSON数据,然后再返回客户端再处理。】
如果这样处理,就和dwr和Ext的方式就差不多了,十分感谢您的回答。2009年10月21日 21:05
3个答案 按时间排序 按投票排序
-
采纳的答案
public class ShowNewListAction extends ActionSupport { private static String FORWARD = null; private List<PBasePurviewUser> userList; private List<PBasePurviewRole> userGroupList; private UserManageService userManageService; public void setUserManageService(UserManageService userManageService) { this.userManageService = userManageService; } public String execute() throws Exception { try { userList = userManageService.getUserList(); userGroupList = userManageService.getUserGroupList(); if (userList != null && userGroupList != null) { FORWARD = "success"; } else { FORWARD = "input"; } } catch (Exception ex) { ex.printStackTrace(); } return FORWARD; } public List<PBasePurviewUser> getUserList() { return userList; } public void setUserList(List<PBasePurviewUser> userList) { this.userList = userList; } public List<PBasePurviewRole> getUserGroupList() { return userGroupList; } public void setUserGroupList(List<PBasePurviewRole> userGroupList) { this.userGroupList = userGroupList; } }
这是我以前项目里去的两个分类下所有元素的代码。其实就是你说的
“多个list的确可以做在action中,但是灵活性和效率都很差。”
但是你能保证“使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代”的灵活性和效率就比这个好?而且你目前还没想到怎么实现“使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代”而且楼下回答中有一个用“switch”的,其实效率和灵活性和“多个list在action中”是一样的。2009年10月24日 01:05
-
为每个栏目指定一个唯一的ID,作为参数传入你的Action中,然后根据不同的ID调用不同的业务类查询List的接口将结构返回给Action即可。
/*columnId:1为最新公告,2为xxxx,3为xxxx,...*/ String columnId = request.getParameter("columnId"); Map params = new HashMap();//保存需要的参数 List list = new ArrayList(); IndexBa ba;//公共Ba switch(Integer.parseInt(columnId)){ case 1: ba = new NoticeBa(); break; case 2: ba = new OtherBa(); break; case 3: ba = ...; break; case 4: ba = ...; break; ... } list = ba.queryList(params);//各个Ba各自实现queryList接口 ...
一般可以使用ajax异步加载首页内容,这个时候Ba类的queryList可以返回JSON数据,然后再返回客户端再处理。
2009年10月21日 23:41
相关推荐
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
Struts2的处理流程
Struts2异常处理机制
struts2一个action处理多个请求
Struts2下载文件时中文乱码和空格处理
struts2 资料struts2 资料struts2 资料struts2 资料
struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全struts2 总结工程大全...
Struts2是一套非常优秀的Java WEB应用框架,实现优雅、功能强大、使用简洁。目前已有大量的企业项目采用Struts2来作为Web框架进行开发,掌握Struts2是每个进行Web开发的Java程序员的一项必备技能。 本视频对Struts2...
struts2的概述struts2下的HelloWord struts2基础 struts2做好准备 struts2的标志 struts2的Action讲解 struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中...
struts2-core-2.0.1.jar, struts2-core-2.0.11.1.jar, struts2-core-2.0.11.2.jar, struts2-core-2.0.11.jar, struts2-core-2.0.12.jar, struts2-core-2.0.14.jar, struts2-core-2.0.5.jar, struts2-core-2.0.6.jar,...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》以Struts2的源代码为依托,通过对Struts2的源代码的全面剖析深入探讨了Struts2的架构设计、实现原理、设计理念与设计哲学,对从宏观上和微观上去了解Struts2...
struts2源码 struts2案例 struts2使用包
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
struts struts的错误处理 struts控制界面输出 struts struts的错误处理 struts控制界面输出
北大青鸟 Y2 学年 使用Struts 2框架开发租房网站
一个很好的关于Struts2的讲义!struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义struts2讲义
struts2官方文档
Struts2 Struts2 超好的Struts2 pdf 文档 Struts2 Struts2 超好的Struts2 pdf 文档 Struts2.pdf文档
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的Struts2技术专家(网名:downpour)亲自执笔,iteye兼CSDN产品总监范凯(网名:robbin)以及51CTO等技术社区鼎力推荐。 本书以Struts2的...