2024-11-23 16:57:36
现在java开发很多都用到spring mvc,我现在做的项目也是,我就按照mvc的来说。
首先你的代码在开发工具中一定是有结构层次的,你会建出平行的几个包写后台代码:
a.controller;a.service;a.dao;a.dto;a.daoImpl。具体哪个包有什么作用就不细说了,然后你会在webapp下建立jsp和js文件。
这时候就可以解决你的问题了,例如你的Jsp,css,js文件都写好了,页面布局很清晰,运行代码可以看到一个完整的页面,但是用户可能有各种操作,就拿我做的这个项目代码来说,我做的有个页面的信息是分层次的,例如现在有三个职级,1,2,3;1职级的可以看到所有信息,2职级的只能看到2和3的,3只能看到自己的;这种需求就需要在后台写代码来实现了,一般是在service里面写,我把easyUI的分页功能重写了一下,然后就可以实现这个需求了,下面是代码
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-11-23 14:52:17
那怎么在页面上调整的,后台管理页面进行排序,前台模块就自动变了