`

页面设计与VO

    博客分类:
  • Java
阅读更多

我们一般的页面设计是一个模块的内容对应取自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)??>
    
    
    

 

 

 

 

 

  • 大小: 24.8 KB
分享到:
评论

相关推荐

    webgame客户端通信VO设计构想

    ### Webgame客户端通信VO设计构想 #### 一、引言 随着网络技术的发展,Web游戏因其便捷性和可访问性而越来越受欢迎。在Web游戏中,客户端和服务端之间的通信至关重要,良好的通信机制能够确保游戏的流畅运行及用户...

    扩展MyBatisPlus代码生成器实现自定义源码生成,可生成前端页面、vo对象、dto对象等代码

    然而,对于VO对象、DTO对象以及前端Vue页面等非预置的代码生成需求,就需要我们对默认的代码生成器进行扩展和定制。 在MyBatisPlus 3.5.3版本中,代码生成器主要有两种类:`AutoGenerator`和`FastAutoGenerator`。`...

    自身关联的添加、检索及PO到VO得封装、转换

    在IT行业中,自身关联是一种常见的数据库设计技巧,用于表示一个实体可以与其自身存在关系,比如在上述例子中,"MALL_PAGE"表就是一个自身关联的表,用来存储页面权限信息,其中PAGEPARENTID字段引用了PAGEID字段,...

    视图对象(VO、DTO)的应用!

    在软件开发中,视图对象(View Object,简称VO)和数据传输对象(Data Transfer Object,简称DTO)是两种常见的设计模式,它们在系统架构中起着至关重要的作用。这两种对象主要用于解决数据模型与界面展示之间的数据...

    博客系统(dao+servlet+service+vo+mysql)

    DAO层是应用程序与数据库之间的接口,负责处理所有的数据操作。在本项目中,DAO类会包含方法如添加新的博客文章、获取文章列表、更新用户信息等,通过执行SQL查询或更新语句来完成这些操作。DAO的设计模式使得业务...

    个性化EBS标准OAF页面

    个性化EBS标准OAF页面知识点 在Oracle E-Business Suite(EBS)中,个性化标准OAF页面是指基于Enterprise ...我们需要关注VO的设计和开发,JDeveloper设置,环境变量和关键的JDeveloper设置,以确保开发和测试VO正确。

    JAVA中的POJO、VO、PO、DO、DTO都是什么?有什么区别?

    3. VO(View Object):视图对象,主要用于表现层,如JSP页面或Web服务的响应。VO包含了展示数据所需的所有属性,通常不含任何业务逻辑,只用于数据的展示。它们是将数据从服务层传递到前端展示时使用的中间对象,...

    bo,vo,po的区别

    在“voAndbo.txt”这个文件中,可能包含了更详细的关于VO和BO的解释,例如它们的设计模式、使用场景、如何在实际项目中进行交互等内容。深入学习这部分资料,将有助于开发者更好地理解和应用这些设计原则,从而提升...

    过渡的艺术!20个精巧微妙的渐变色网页设计宣贯.pdf

    【渐变色网页设计】在网页设计领域,渐变色是一种能够创造深度和动态感的视觉元素。在扁平化设计一度占据主导地位时,渐变曾被边缘化,但随着时间的发展,它重新获得了设计师们的青睐。渐变色能够打破单一色调的沉闷...

    网页课程设计&毕业设计_绿色简单英文外贸专题css模板5380.zip

    网页课程设计与毕业设计是计算机科学...这个模板可能已经包含了上述部分或全部知识点,为学生提供了一个起点,他们可以在此基础上根据自己的项目需求进行扩展和定制,实现更复杂的功能,提升自己的网页设计与开发能力。

    Java和bean(VO)、dao、Servlet、jsp的综合总结复习

    JSP(JavaServer Pages)是动态网页技术,允许开发者在HTML页面中嵌入Java代码。JSP页面在服务器端被编译为Servlet,然后执行并返回HTML响应。JSP的主要职责是渲染视图,将业务数据转化为用户友好的界面。开发者可以...

    前端开源库-swig-vo

    在实际项目中,Swig-Vo通常与前端构建工具(如Gulp、Grunt或Webpack)结合使用,配合其他库(如jQuery、React或Vue.js)共同完成复杂的前端应用开发。Swig-Vo的灵活性和可扩展性使其成为前端开发中一个值得考虑的...

    论文研究-可视化本体编辑器VOEditor中的模型检查机制研究.pdf

    为了实施模型检查,VO-Editor采用了一种表结构来映射OWL构造子与图形元素,使得在图形编辑器中对本体的操作能够即时反映到后端逻辑模型的验证中。这种映射关系是实现可视化本体编辑器中模型检查功能的基础。 在技术...

    vo

    它通常是ViewModel与DOM之间的桥梁,接收ViewModel中的数据变化,并负责把这些变化应用到页面的各个元素上。例如,当一个按钮被点击时,View Object可能会有一个方法来响应这个事件,更新相关的DOM元素。 【描述】...

    本科毕业设计项目,优秀毕设,课程设计大作业,基于springboot+axios 构建的医院信息管理系统

    项目通过maven进行构建,整体使用SpringBoot框架,使用MVC设计模式,同时实现PO,VO分离,前端使用vue.js和axios以及后端使用springboot内部封装的jackson实现网页的局部刷新,完成了前端与后端,后端与数据库的对接...

    Cong-Phat-Vo

    在IT行业中,HTML(HyperText Markup Language)是一种基础的标记语言,用于构建和设计网页。它构成了互联网上大部分页面的基础框架。"Cong-Phat-Vo"可能是一个个人项目或者是一个学习资源,专注于HTML的学习与实践...

    Adf基础 开发文档

    对于解码别设定的明细EO和VO,创建过程与上述相同,但不需要在查询(Query)的View Criteria中添加条件,因为明细VO通常不会出现在搜索界面。 在建立了EO和VO后,我们需要建立它们之间的主从关系。这通过创建View ...

    resume:Duc Vo DevOps简历

    在"resume-master"这个文件夹中,我们可以期待找到Duc Vo的详细个人信息、工作经验、项目经历、技能列表、教育背景等内容,这些信息将以HTML格式呈现,可能包含CSS样式以美化页面布局和视觉效果。此外,简历可能还...

    留言程序设计的三种方法

    MVC(Model-View-Controller)设计模式进一步解耦JSP页面和业务逻辑,控制器Servlet处理请求,模型处理业务,视图负责展示。 #### 模块划分 1. 登录模块:`LoginServlet`处理用户登录验证。 2. 留言管理模块:`...

    Jisho-Forvo-crx插件

    **Jisho-Forvo-crx插件**是一款专为英语(美国)用户设计的浏览器扩展程序,旨在增强用户在访问jisho.org网站时的日语学习体验。Jisho.org是一个知名的在线日语词典,提供了丰富的词汇、读音和例句资源,而这款插件...

Global site tag (gtag.js) - Google Analytics