`

jmesa之View

阅读更多
为了让jmesa分页变得更加的合理,还有一些地方需要完善,比如做个论坛之类的,像JE那样,数字分页的方式已经解决了,下面还有两个问题需要解决,一是那些条件搜索框要去掉(去掉工具栏上的搜索按钮直接调整工具栏就可以了),二是内容的上下均显示分页信息。要解决这两个问题,就得自己定义HtmlView了,默认使用的样式显示方式由HtmlView类决定,此类的源码:
public class HtmlView extends AbstractHtmlView {
    public Object render() {
        HtmlSnippets snippets = getHtmlSnippets();
        HtmlBuilder html = new HtmlBuilder();
        html.append(snippets.themeStart());
        html.append(snippets.tableStart());
        html.append(snippets.theadStart());
        html.append(snippets.toolbar());
        html.append(snippets.filter());
        html.append(snippets.header());
        html.append(snippets.theadEnd());
        html.append(snippets.tbodyStart());
        html.append(snippets.body());
        html.append(snippets.tbodyEnd());
        html.append(snippets.footer());
        html.append(snippets.statusBar());
        html.append(snippets.tableEnd());
        html.append(snippets.themeEnd());
        html.append(snippets.initJavascriptLimit());

        return html.toString();
    }
}


照着上面的代码很容易实现自己的显示样式。
解决问题一:

//html.append(snippets.filter());


解决问题二:

这里有个需要注意的地方:

.....
String toolbar = snippets.toolbar();

....
html.append(toolbar);
..........

html.append(toolbar);
		
html.append(snippets.tableEnd());
........


之所以要这么做,一是因为这样使用更加合理,二是因为如果连续调用两次snippets.boolbar会导致其内部的字符串进行累加,那么下面的分页将会显示两次。

写完自定义的HtmlView后,将它赋给tableFacade:

...
tableFacade.setView(new CustomHtmlView());

return tableFacade.render();


最后,在相应的JSP页面申明:

...
<jmesa:tableFacade id="user_table" .... view="com.util.CustomHtmlView">
...


到此,整个jmesa的大部分问题都得到了解决,还好,可以通过博客的方式记录下来,不然自己早没这个动力了。
分享到:
评论

相关推荐

    jmesa使用说明文档

    - **org.jmesa.view.renderer**:定义各种渲染器,如行渲染器、列渲染器和单元格渲染器。 - **org.jmesa.web**:提供在 Web 环境下使用 JMESA 的辅助类。 **环境搭建** 要使用 JMESA,你需要准备以下资源: 1. ...

    jmesa的源码解读(共五部分)

    Jmesa是一个开源的数据分析和展示工具,其源码解读主要涵盖了五个部分,分别是包结构、limit包、core包、core.filter包和view包。在本文中,我们将深入理解Jmesa的核心概念和主要功能。 首先,我们关注的是包结构。...

    JMesa源代码解读(中文版pdf格式)

    `Limit`接口是`org.jmesa.limit`包中的重要接口之一,它包括以下组成部分: - **id**:唯一标识符,用于区分不同的表格或数据集。 - **RowSelect**:管理分页算法,可以通过传入页码、每页显示的最大记录数和总记录...

    GaussView_6.0.16_x64.tar.bz2_Gaussview_useingaussian_

    GaussView的核心功能之一是分子建模。用户可以使用工具栏上的原子图标添加单个原子,或通过拖拽分子结构文件(如PDB或XYZ格式)导入分子。通过调整原子间的键长和键角,可以精确控制分子的几何构型。此外,GaussView...

    android 获取界面部分view,view截图,生成bitmap图片

    在Android开发中,有时我们需要对应用的某个特定View进行截图并保存或分享,例如用户希望分享当前活动的状态或者游戏得分。这个过程涉及到的关键知识点包括View的层级结构、Bitmap的生成与处理以及图片的保存和合成...

    截取View转为图片

    在Android开发中,有时我们需要将一个View转换成图片进行保存或者分享,比如截图、制作预览图等。这个过程涉及到的主要知识点是View的绘制和Bitmap的处理。下面将详细讲解如何实现这一功能。 首先,我们要了解`View...

    ViewServer-解决View Hierarchy不能启动

    标题中的"ViewServer-解决View Hierarchy不能启动"便是为了解决这一问题,提供了一种替代方案。 `ViewServer`是一个开源项目,旨在替代过时的`Hierarchy Viewer`,它允许开发者在Android设备或模拟器上检查和调试...

    systemview 中文使用说明

    《SystemView中文使用详解》 SystemView是一款在通信系统领域广泛应用的实时仿真和数据分析工具,尤其在信号处理、通信系统设计以及调试过程中扮演着至关重要的角色。本篇将深入探讨SystemView的中文使用方法,帮助...

    PLIN-View基本使用方法

    PLIN-View基本使用方法 PLIN-View 是一款功能强大且灵活的 LIN 总线分析和测试工具,能够帮助用户快速地对 LIN 总线进行分析、测试和故障诊断。以下是 PLIN-View 基本使用方法的详细说明: 1. 连接 在使用 PLIN-...

    让popupwindow显示在view的上方并与该view水平居中对齐

    在Android应用设计中,有时我们需要让PopupWindow出现在某个特定View的上方,并与该View水平居中对齐,以达到良好的用户体验。下面将详细介绍如何实现这一需求。 首先,要理解PopupWindow的基本用法。PopupWindow类...

    hdfview安装包.7z

    描述中提到的“可以直接浏览H5后缀的文件内容”,这表明HDFView的核心功能之一就是能够打开和浏览.H5文件。H5文件是HDF5格式的文件,这种格式支持大容量数据的存储,并允许嵌套数据结构,如数组、表格、图像和字符串...

    HexView_V1.12.05 免安装

    《HexView_V1.12.05 免安装》是一款功能强大的十六进制查看与编辑工具,专为计算机专业人士和高级用户设计。它能够帮助用户深入地分析和操作二进制数据,对于软件开发、数据恢复、系统调试等领域的工作来说,是不可...

    tradingview官网2022年最新版

    TradingView是一款强大的在线图表工具,尤其受到金融投资者和交易者的喜爱。它提供了丰富的技术分析工具、实时市场数据以及用户社区,让投资者能够深入地研究和理解市场动态。2022年的最新版 TradingView 提供了更多...

    微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】

    &lt;view class=view xss=removed&gt;我是view标签,我现在的宽度是{{view.Width}}px,高度是{{view.Height}}px&lt;/view&gt; &lt;input placeholder=输入view标签的宽度 bindinput=viewWidth&gt;&lt;/input&gt; &lt;input ...

    PDFView显示pdf文件

    PDFView是Android开发中用于显示PDF文件的一种工具,它允许开发者在应用程序中集成PDF阅读功能。这个工具包可能包括源代码和预编译的jar包,使得开发者可以直接将PDF查看功能整合到自己的应用中,无需依赖其他大型库...

    HexView(Vector)V1.09.01

    《HexView(Vector)V1.09.01:深入理解十六进制查看与编辑工具》 在计算机科学和IT领域,理解数据的底层表示是至关重要的,尤其是在进行二进制分析、软件逆向工程或者数据恢复时。HexView(Vector)V1.09.01是一款...

    vmware-view安装指南

    View 安装5 1 服务器组件的系统要求7 View 连接服务器的要求7 View Administrator 的要求9 View Composer 的要求9 2 客户机操作系统的系统要求13 View Agent 支持的操作系统13 独立 View Persona Management 支持的...

    代码动态改变View大小

    在Android开发中,View是构建用户界面的基本元素,它涵盖了屏幕上的任何可见组件,如按钮、文本框、图片等。动态地改变View的大小是一项常见的需求,比如在响应用户交互或者适应不同屏幕尺寸时。本篇文章将深入探讨...

    HexView资源-Vector

    标题中的“HexView资源-Vector”表明这可能是一个关于计算机软件开发或数据分析的资源集合,主要涉及使用HexView工具处理矢量数据。HexView通常是一个十六进制查看器,用于查看和分析二进制文件的内容,它能显示数据...

Global site tag (gtag.js) - Google Analytics