XCWANGBIN 2009-10-21 21:05
浏览 229
已采纳

【Struts2】如何处理网站首页中的各个子栏目或频道?

网站的首页一般都会调用很多栏目的最新内容,但是一个action往往只能完成一项任务,请教如何通过一个参数来控制各个栏目的数据调用?

第一次学习struts2,一直没有搞明白?希望大家帮助。
[b]问题补充:[/b]
多个list的确可以做在action中,但是灵活性和效率都很差。我希望能够使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代。

从灵活性,效率上来说还有没有更好的方法?

谢谢!
[b]问题补充:[/b]
【例如javaeye的首页】

http://www.iteye.com/

《Java编程和企业应用热点》和《动态语言编程热点》等栏目都是调用同一个数据库知识分类不同而已,难道没有更简单的办法吗?
[b]问题补充:[/b]
[quote]你可以把这些操作都封装成一个服务层的方法,每次只要传栏目的ID,再调用服务层的方法,就可以得到该栏目下对应的记录。[/quote]

如何与action联系呢,url调用的时候毕竟对应一个action,对于数据不同类型有异的返回也就是一个result.

那么如何根据不同的类别(参数)返回不同的result?
[b]问题补充:[/b]

【sunlightcs 】

尽管不是我所期盼的答案,还是很感谢您。

谢谢!

:idea:
[b]问题补充:[/b]
【一般可以使用ajax异步加载首页内容,这个时候Ba类的queryList可以返回JSON数据,然后再返回客户端再处理。】

如果这样处理,就和dwr和Ext的方式就差不多了,十分感谢您的回答。

  • 写回答

3条回答 默认 最新

  • darkranger 2009-10-24 01:05
    关注

    [code="java"]
    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;
    }
    

    }[/code]
    这是我以前项目里去的两个分类下所有元素的代码。其实就是你说的
    “多个list的确可以做在action中,但是灵活性和效率都很差。”
    但是你能保证“使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代”的灵活性和效率就比这个好?而且你目前还没想到怎么实现“使用一个参数或者像函数调用一样的获取各个栏目的list然后去迭代”而且楼下回答中有一个用“switch”的,其实效率和灵活性和“多个list在action中”是一样的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集