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


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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • el表达式和jstl_用二叉树来表示一个简单算术表达式

    el表达式和jstl_用二叉树来表示一个简单算术表达式EL概述EL(ExpressLanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过&lt;%=%&gt;来取出域中的数据,但这种方式过于繁琐,所以就诞生了EL表达式。EL取出JSP四大域…

    2022年7月28日
  • 电脑登陆出现此工作站和主域间的信任关系失败[通俗易懂]

    电脑登陆出现此工作站和主域间的信任关系失败[通俗易懂]问题如下:具体操作步骤可参考https://jingyan.baidu.com/article/37bce2be193fd51003f3a259.htm

    2022年10月18日
  • c语言code用法_visual code c语言

    c语言code用法_visual code c语言此文章出处:http://www.cppblog.com/izualzhy/archive/2012/07/09/182456.html先看个例子:汉字一的UTF-8编码为0xE40xb80x80我们在google里搜索一下“一”,地址栏显示为:可以看到url的字符串里有一个%E4%B8%80这就是encode之后的值。因此,encode的处理过程也很明显了。特别是传中文参数时,如果没…

    2022年9月28日
  • java核心技术总结

    java核心技术总结*****************java基础*****************一、java中的局部变量、实例变量和类变量二、java中的基本类型和引用类型三、java中的位操作符四、关于java的方法1、方法的重载和重写(方法签名:方法名和参数列表)2、方法的可变参(int…args)(1)基本特点底层就是用数组来实现的;在方法内部可变参可以直接当成数组进…

    2022年7月7日
  • 服务器支持p2v,菜鸟必知 实施P2V迁移成功的五大秘诀

    服务器支持p2v,菜鸟必知 实施P2V迁移成功的五大秘诀虚拟服务器迁移工具对操作系统、应用和设置进行镜像复制,并转换成虚拟硬盘文件(适用于MicrosoftHyper-V和CitrixXenServer来说)或者虚拟机磁盘格式文件(适用于VMware)。然后P2V转换工具自动诸如虚拟硬件驱动,并启动虚拟机运转起来。多数P2V迁移直截了当,但也会偶尔发生问题。下面,GregShields将分享五条让P2V迁移成功的技巧。一、注意已安装的OEM系统当…

    2022年7月26日
  • 《那些年啊,那些事——一个程序员的奋斗史》十一[通俗易懂]

    《那些年啊,那些事——一个程序员的奋斗史》十一[通俗易懂]101   回家了!从大巴下来,踏上北海的土地,段伏枥不由地深吸一口气:多么熟悉的带有腥味的空气!虽然说每年段伏枥都会回家过年,但每次都感慨万分。是啊,外出的游子谁不是这样呢?外面的世界或许很精彩,或许很美,但总欠缺了一种熟悉的味道。即使像自己在深圳呆了三年有余,却还是觉得很陌生,似乎只是一个匆匆过客,终究会离开一样。只有回到了家乡,才会有那种回到家的踏实感。    国人的春节归家

    2022年5月5日

发表回复

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

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