compound extreme_EXTRASUPERTADARISE

compound extreme_EXTRASUPERTADARISE
 
安装要求
1、Servlet2.3或更高
2、JDK1.3.1或更高
最小的Jars需求
1、commons-beanutils1.6
2、commons-collections3.0
3、commons-lang2.0
4、commons-logging1.0.4
5、standard1.0.2
PDF导出要用到的包:
1、avalon-framew

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

安装要求
1、Servlet 2.3 或更高
2、 JDK 1.3.1 或更高

最小的Jars需求
1、commons-beanutils 1.6
2、commons-collections 3.0
3、 commons-lang 2.0
4、 commons-logging 1.0.4
5、 standard 1.0.2

PDF 导出要用到的包:
1、 avalon-framework 4.0
2、batik 1.5-fop-0.20-5
3、 fop 0.20.5
4、 xalan 2.5.1
5、 xercesImpl 2.6.1
6、 xml-apis 2.0.2
XLS 导出要用到的包:
1、 poi-2.5.1.jar

 

格式化输出表单中的数据

Q:怎么样格式化输出表单中的数据

A: 你可以设置列的cell:

 

  1. 日期格式化: cell = ” date ” format = ” yyyy-MM-dd ”
  2. 数字格式化: cell=”currency” format=”###,###,##0.00″ 

在web.xml中添加编码过滤器配置:

 <filter>   

 <filter-name>Set Character Encoding</filter-name>

    <filter-class>filters.SetCharacterEncodingFilter</filter-class>   

 <init-param>    

  <param-name>encoding</param-name>     

<param-value>gb2312</param-value> 

   </init-param> 

</filter>

  <filter-mapping>  

  <filter-name>Set Character Encoding</filter-name>

    <url-pattern>/*</url-pattern> 

</filter-mapping>

 

<!–配置导出功能的过滤器–>compound extreme_EXTRASUPERTADARISE

<filter>

compound extreme_EXTRASUPERTADARISE<filter-name>eXtremeExport</filter-name>

compound extreme_EXTRASUPERTADARISE<filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class>

compound extreme_EXTRASUPERTADARISE</filter>

compound extreme_EXTRASUPERTADARISE<filter-mapping>

compound extreme_EXTRASUPERTADARISE<filter-name>eXtremeExport</filter-name>

compound extreme_EXTRASUPERTADARISE<url-pattern>/*</url-pattern>

compound extreme_EXTRASUPERTADARISE</filter-mapping> 

在extComments中加入链接

Q:怎么样加入链接

A: 你可以参考下例:

            <ec:table
var="pres"
items="presidents"
action="${pageContext.request.contextPath}/compact.run"
imagePath="${pageContext.request.contextPath}/images/table/compact/*.gif"
view="compact"
title="Compact Toolbar View"
showTooltips="false"
>
<ec:exportPdf
fileName="output.pdf"
tooltip="Export PDF"
headerColor="black"
headerBackgroundColor="#b6c2da"
headerTitle="Presidents"
text="PDF"
/>
<ec:exportXls
fileName="output.xls"
tooltip="Export Excel"
text="XLS"
/>
<ec:row>
<ec:column property="fullName" title="Name">
<a href="http://www.whitehouse.gov/history/presidents/">${pres.fullName}</a>
</ec:column>
<ec:column property="nickName"/>
<ec:column property="term"/>
<ec:column property="born" cell="date"/>
<ec:column property="died" cell="date"/>
<ec:column property="career"/>
</ec:row>
</ec:table>
Limit数据端分页

package com.sinovs.saler.webapp.action;

 

import java.util.List;

 

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.DispatchAction;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.action.ActionMessage;

import org.apache.struts.action.ActionMessages;

import org.extremecomponents.table.context.Context;

import org.extremecomponents.table.context.HttpServletRequestContext;

import org.extremecomponents.table.core.Preferences;

import org.extremecomponents.table.core.PreferencesConstants;

import org.extremecomponents.table.core.TableConstants;

import org.extremecomponents.table.core.TableModelUtils;

import org.extremecomponents.table.core.TableProperties;

import org.extremecomponents.table.limit.Limit;

import org.extremecomponents.table.limit.LimitFactory;

import org.extremecomponents.table.limit.TableLimit;

import org.extremecomponents.table.limit.TableLimitFactory;

 

import com.sinovs.saler.model.Saler;

import com.sinovs.saler.service.SalerManager;

 

 

public final class SalerAction extends DispatchAction {

  

    public ActionForward search(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response)

           throws Exception {

      //从spring中得到的bean

 

       SalerManager mgr = (SalerManager) getBean("salerManager");

       /**

        * controller首先需要创建一个Limit

        */

       String tableId = "ec";

       Context context = new HttpServletRequestContext(request);

       LimitFactory limitFactory = new TableLimitFactory(context, tableId);

       Limit limit = new TableLimit(limitFactory);

       /**

        * 得到系统默认的页面显示大小

        */

       Preferences preferences = new TableProperties();

       preferences.init(null, TableModelUtils.getPreferencesLocation(context));

 

       String crdStr = tableId + "_" + TableConstants.CURRENT_ROWS_DISPLAYED;

       /**

        * 注意:此处取值时,如果后台配置文件里有配置,就从里面取,反之取15

        */

       int defaultRowsDisplayed = Integer.parseInt(preferences

              .getPreference(PreferencesConstants.TABLE_ROWS_DISPLAYED));

       if (request.getParameter(crdStr) != null) {

           defaultRowsDisplayed = Integer.parseInt(request

                  .getParameter(crdStr));

       }

 

       /**

        * limit需要得到所有的行来得到行的信息

        */

 

 

       int totalRows = mgr.getTotalSalers(limit);

 

       limit.setRowAttributes(totalRows, defaultRowsDisplayed);

       /**

        * 需要从services得到Collection数据

        */

       List list = mgr.getSalers(limit);

 

       /**

        * 将Collections和totalRow这些信息传送回JSP以便eXtremeTable知道如何显示这些信息

        */

       request.setAttribute("list", list);

       request.setAttribute("totalRows", new Integer(totalRows));

 

       return mapping.findForward("list");

    }

 

}

 SalerManagerImpl

/**

     * controller需要到第一条信息就是总行数。

     */

    private final static String salersQuery = "FROM Saler ";

 

    private final static String totalSalersQuery = "SELECT count(*) FROM Saler ";

 

    public int getTotalSalers(Limit limit) {

       String totalQuery = totalSalersQuery;

       String modTotalQuery = filterQuery(limit.getFilterSet(), totalQuery);

       int totalRows = dao.getTotalSalers(modTotalQuery);

       return totalRows;

    }

 

    public List getSalers(Limit limit) {

       String query = salersQuery;

       String modSalersQuery = filterQuery(limit.getFilterSet(), query);

       modSalersQuery = sortQuery(limit.getSort(), modSalersQuery);

       return dao.getSalers(modSalersQuery, limit);

 

    }

 

    private String filterQuery(FilterSet filterSet, String query) {

       if (!filterSet.isFiltered() || filterSet.isCleared()) {

           return query;

       }

 

       Filter filters[] = filterSet.getFilters();

       for (int i = 0; i < filters.length; i++) {

           Filter filter = filters[i];

           String property = filter.getProperty();

           String value = filter.getValue();

           query = filterQuery(query, property, value);

       }

 

       return query;

    }

 

    public String filterQuery(String query, String property, String value) {

       StringBuffer result = new StringBuffer(query);

 

       if (query.indexOf("WHERE") == -1) {

           result.append(" WHERE 1 = 1 "); // stub WHERE clause so can just

           // append AND clause

       }

 

       result.append(" AND " + property + " like '%" + value + "%'");

 

       return result.toString();

    }

 

    private String sortQuery(Sort sort, String query) {

       if (!sort.isSorted()) {

           return query;

       }

 

       String property = sort.getProperty();

       String sortOrder = sort.getSortOrder();

 

       return sortQuery(query, property, sortOrder);

    }

 

    public String sortQuery(String query, String property, String sortOrder) {

       StringBuffer result = new StringBuffer(query + " ORDER BY ");

 

       result.append(property + " " + sortOrder);

       return result.toString();

    }

 

SalerDaoHibernate

/**

     * 得到数据总行数

     */

    public int getTotalSalers(String query) {

       int totalRows = 0;

       List list = getHibernateTemplate().find(query);

       if (list.size() > 0) {

           totalRows = ((Integer) list.get(0)).intValue();

       }

       return totalRows;

    }

 

    /**

     * 根据HQL语句的到纪录列表

     */

    public List getSalers(String query, Limit limit) {

       Session session = this.getSession();

       Query q = session.createQuery(query);

       q.setFirstResult((limit.getPage() - 1)

              * limit.getCurrentRowsDisplayed());

       q.setMaxResults(limit.getCurrentRowsDisplayed());

       return q.list();

    }

页面  

<ec:table

       items="salerList"

       var="saler"

       action="${pageContext.request.contextPath}/saler.do?method=search"

       imagePath="${pageContext.request.contextPath}/images/table/*.gif"

       title="saler.list.title"

       width="80%"

       retrieveRowsCallback="org.extremecomponents.table.callback.LimitCallback" filterRowsCallback="org.extremecomponents.table.callback.LimitCallback" sortRowsCallback="org.extremecomponents.table.callback.LimitCallback"

       rowsDisplayed="16"

       >

       <ec:exportXls fileName="presidents.xls" tooltip="Export Excel"/>

       <ec:row  highlightRow="true">

           <ec:column property="rowcount" cell="rowCount" sortable="false" filterable="false" title="ID" width="60"/>

           <ec:column property="salerName" title="saler.salername"/>

           <ec:column property="salerPhone" title="saler.salerphone"/>

           <ec:column property="id" title="saler.button.mod" filterable="false" viewsAllowed="html" sortable="false">

           <a href="${pageContext.request.contextPath}/saler.do?method=edit&amp;id=${saler.id}"><bean:message key="saler.button.mod"/></a>

           </ec:column>

           <ec:column property="id" title="saler.button.delete" filterable="false" sortable="false" viewsAllowed="html">

           <a href="${pageContext.request.contextPath}/saler.do?method=delete&amp;id=${saler.id}"><bean:message key="saler.button.delete"/></a>

           </ec:column>

       </ec:row>

    </ec:table> 

创建Limit

首先你需要通过LimitFactory得到一个Limit实例:

Context context = new HttpServletRequestContext(request);
LimitFactory limitFactory = new TableLimitFactory(context, tableId);
Limit limit = new TableLimit(limitFactory);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171318.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 查看端口被占用进程[通俗易懂]

    docker 查看端口被占用进程[通俗易懂]以下找到相应进程或容器后,可以将对于进程或容器停止或删除现在希望启动一个dockercontainer,把container中的80端口映射到宿主机。[root@cmdb2~]#dockerrun-p80:80-it9d1c954badc7/bin/bash[root@cmdb2~]#dockerpsCONTAINERIDIM…

    2022年7月27日
    85
  • linux安装elasticsearch7_elasticsearch入门

    linux安装elasticsearch7_elasticsearch入门Linux上elasticsearch7集群搭建前期准备:服务器三台168.168.12.62168.168.12.63168.168.12.64部署jdk解压jdk放在/data目录,/data/jdk配置环境变量,/etc/proifle里面加入如下exportJAVA_HOME=/data/jdkexportPATH=PATH:PATH:PATH:JAVA_HOME/binexportCLASSPATH=.:JAVAHOME/lib/tools.jar:JAVA_HOME/

    2022年10月13日
    2
  • pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]

    pycharm自带python环境吗_Python IDE环境之 新版Pycharm安装详细教程[通俗易懂]PyCharm简介:PyCharm是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。PyCharm安装:1.下载完毕直接打开安装,安装过程中需要注意以下几点:2.完毕之后,到此界面:0…

    2022年8月29日
    1
  • 搭建LAMP架构_redis搭建集群

    搭建LAMP架构_redis搭建集群搭建LAMP架构一、LAMP架构概述1、LAMP简介LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整台系统和相关软件,能够提供动态web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统,Apache网站服务器,MySQL数据库服务器,PHP(或perl,Python)网页编程语言。2、LAMP构成组件(1)Linux系统:LAMP架构的基础,提供用于支撑Web站点的操作系统(2)Apache网站服务:LAMP架构的前端,向用户提供网站服务、发送网

    2022年10月10日
    3
  • FastClick遇到的坑及解决办法

    FastClick遇到的坑及解决办法最近产品妹子提出了一个体验issue——用iOS在手Q阅读书友交流区发表书评时,光标点击总是不好定位到正确的位置:如上图,具体表现是较快点击时,光标总会跳到textarea内容的尾部。只有当点击停留时间较久一点(比如超过150ms)才能把光标正常定位到正确的位置。一开始我以为是iOS原生的交互问题没太在意,但后来发现访问某些页面又是没有这种奇怪体验的。然后怀疑是否…

    2022年6月19日
    57
  • 在ubuntu安装的软件在哪里找_ubuntu如何安装gcc编译器

    在ubuntu安装的软件在哪里找_ubuntu如何安装gcc编译器在ubuntu安装vscode和可视化的代码跟踪调试在ubuntu安装vscode一、命令安装1.在网页下载deb安装包:https://code.visualstudio.com/Download2.在命令行安装:3.在命令行执行:二、汉化在ubuntu中用vscode编译调试C\C++一、安装插件二、编译运行程序在ubuntu安装vscode一、命令安装1.在网页下载deb安装包:https://code.visualstudio.com/Download2.在命令行安装:

    2022年9月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号