页面设计与VO

我们一般的页面设计是一个模块的内容对应取自Action中的一个List , 但是大部分的页面排版是错分开的;

 


 

比如: 第一条是显示成图片的, 第二个是显示标题, 后面是一个文章列表List 。。

Action中可以设计为 :

 

public class IndexVo
{
       private List<InfoVo> infoList = new ArrayList();//模块的List
}

public class InfoVo
{
       Article articlePic;       //图片的对象 如果是多个,也可写为List     第一篇文章
       Article articleTitle;     //标题的对象 如果是多个,也可写为List     第二篇
       private List<Article> infoList = new ArrayList();//信息列表   第三篇以及后面的
}



public class Article
{
       String title;
       String picContent;
       String content;
}

 

Service 层去拆分和组合数据  在Java中凑合List 的数据还是比较方便

 

public class CmsExhibitAction extends BaseAction
{
       private IndexVo indexVo = new IndexVo();

       public String execute(){
             List autoList = service.getAutoList();
             List newautoList = ....................;
             List clubActive = ........................;


             infoList  = new IndexVo();
             InfoVo infoVo = new InfoVo();
             infoList.add(infoVo);
             if(autoList.size()>0){
                  infoVo.setArticlePic(autoList .get(0));
             }
             //如果有多条,也可以
        if(autoList.size()>n){
                 infoVo.setArticlePicList(autoList.subList(0, n-1));
            }
       }
}

 

 

<#list (indexVo.infoList)?if_exists as infos>
     <div>${infos.title}</div>
     <li>${infos.picContent}</li>
     <li>${infos.content}</li>
</#list>

 

 或者,在后台组装成 HashMap,如果分类多的话, 可以使用枚举类型:

 

enum InfoType{
     AutoType,
     ClubType,
     .....................................
}
//枚举类型比较好的一点是可以方便的遍历

private Map<String,List> listMap = new HashMap();

for(InfoType infoType : InfoType.values()){
    listMap.put(infoType.name(), service.getList(infoType.name()));
    //把各个模块的数据组合到HashMap
}


 

 

 

 

public class InnerListVo {

   /**
     * 小栏目中需要展示图片的那个Order或Infomation,等
     */
    
    private List listFirst;

    /**
     * 模型列表
     * 内容可以是Order或Infomation,等
     */
    private List list;

    public Object getListFirst(int index){
    	if (listFirst!=null && listFirst.size()>index){
    		return listFirst.get(index);
    	}
    	return new HashMap();
    }

}
 

 

 

 页面中, 使用,

 

 

<#list listMap["AutoType"] as infos>
    ${infos.title}
    
</#list>    
    
    
<#assign bean=listVoMap['SY_ZX_TP'].getListFirst(0)>
<#if (bean.imageUrl)??>
    
    
    

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值