java开发新闻门户网站信息的发布和排序,后台是进行管理。

请大神帮我讲解下,是如何实现后台排序,前台自动调整的(如我表达的不够清晰,敬请理解)... 请大神帮我讲解下,是如何实现后台排序,前台自动调整的(如我表达的不够清晰,敬请理解) 展开
 我来答
帐号已注销
2017-01-03
知道答主
回答量:19
采纳率:100%
帮助的人:8.5万
展开全部

现在java开发很多都用到spring mvc,我现在做的项目也是,我就按照mvc的来说。

  1. 首先你的代码在开发工具中一定是有结构层次的,你会建出平行的几个包写后台代码:

    a.controller;a.service;a.dao;a.dto;a.daoImpl。具体哪个包有什么作用就不细说了,然后你会在webapp下建立jsp和js文件。

  2. 这时候就可以解决你的问题了,例如你的Jsp,css,js文件都写好了,页面布局很清晰,运行代码可以看到一个完整的页面,但是用户可能有各种操作,就拿我做的这个项目代码来说,我做的有个页面的信息是分层次的,例如现在有三个职级,1,2,3;1职级的可以看到所有信息,2职级的只能看到2和3的,3只能看到自己的;这种需求就需要在后台写代码来实现了,一般是在service里面写,我把easyUI的分页功能重写了一下,然后就可以实现这个需求了,下面是代码

  3. public Map<String,Object> queryGisRadio(String start,String end,String user,String key,PageObj pageObj){
            Map<String, Object> rsMap = new HashMap<String, Object>();
            //得到所有广播
            List<GisRadioDto> allRadioList = gisRadioConfDao.queryGisRadio(start, end, user, key);
            /**
             * 过滤条件:只能看到自己机构及子机构的广播
             */
            //查询用户所在机构及其子机构
            AuthInfo authInfo = SessionContent.getAuthInfoLocal();
            List<Org> org = new ArrayList<Org>();
            org = orgService.getAllOrgsByUserId(authInfo.getUserId());
            //Map<String,Object> queryMap = gisRadioConfService.queryGisRadio(start, end, user, key, pageObj);
            //List<GisRadioDto> allRadioList = (List<GisRadioDto>) queryMap.get("rows");
            
            //最终要显示的广播
            List<GisRadioDto> resultRadioList = new ArrayList<GisRadioDto>();
            int rSize=allRadioList.size();
            int oSize=org.size();
            //根据部门id相等来进行过滤
            for(int i=0;i<rSize;i++){
                String[] relationpartArrayS=null;//初始数组
                long[] relationpartArrayL=null;//转换后数组
                int flag=0;
                //得到库里的RelationDepartment,分割成一个个的id存入一个数组
                relationpartArrayS = allRadioList.get(i).getRelationDepartment().split("\\|");
                int len = relationpartArrayS.length;
                relationpartArrayL = new long[len];
                for(int k=0;k<len;k++){
                    //将部门id数组转换成long类型数组                
                    relationpartArrayL[k]=Long.parseLong(relationpartArrayS[k].trim());
                }
                for(int j=0;j<oSize;j++){
                    for(int t=0;t<len;t++){
                        if(org.get(j).getOrgId()==relationpartArrayL[t]){
                            //将满足条件的list元素放入结果list里面
                            resultRadioList.add(allRadioList.get(i));
                            flag++;
                            break;
                        }
                    }
                    if(flag==1){
                        break;
                    }
                }
            }
            int startIndex = (pageObj.getPage()-1) * pageObj.getRows();
            int endIndex=startIndex+pageObj.getRows();
            //要放在每一页上的广播
            List<GisRadioDto> rows = new ArrayList<GisRadioDto>();
            if(resultRadioList.size()>endIndex){
                for(int i=startIndex;i<endIndex;i++){
                    rows.add(resultRadioList.get(i));
                }
            }else{
                for(int i=startIndex;i<resultRadioList.size();i++){
                    rows.add(resultRadioList.get(i));
                }        
            }
            //pageObj.setTotal(resultRadioList.size());
            rsMap.put("rows", rows);
            rsMap.put("total", rSize);
            return rsMap;
            
        }
万企明道
2024-08-07 广告
低代码开发平台(LCDP)是一种无需编码或通过少量代码就可以快速生成应用程序的开发平台。它通过可视化进行应用程序开发,使具有不同经验水平的开发人员可以通过图形化的用户界面、使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。 价格只是购买... 点击进入详情页
本回答由万企明道提供
wolf_886
2017-01-03 · TA获得超过303个赞
知道小有建树答主
回答量:813
采纳率:0%
帮助的人:123万
展开全部
后台排序就使用数据库的order by呗,前台调整,可以通过调整修改order by标识
追问
那怎么在页面上调整的,后台管理页面进行排序,前台模块就自动变了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式