当前位置:文档之家› DisplayTag详解

DisplayTag详解

DisplayTag详解
DisplayTag详解

DisplayTag详解

【简介Introduction】

DisplayTag是一个开源的自定义标签库(Custom Tag lib),他提供了直接而有效的格式化web视图层数据的有效手段。你可以在现在流行的web应用的MVC模式中集成DisplayTag到View层,其提供的强大表格格式化功能一定会令你爱不释手。或许上面说的有些夸张了,但是DisplayTag在表格的格式化方面表现确实出色,当然,他也只能显示表格,视图层的大部分工作不就是使用表格来格式化数据嘛?!

好了,让我们通过图片来看看他是一个什么样子吧!^_^怎么样?是不是感觉不错那?如果答案是肯定的,那么你一定急着想自己试一试咯?!不要急,下面就让我们开始我们的DisplayTag之旅。

[b]【Hello DisplayTag】[/b]

既然是一个tutorial,所以,我们不想对像自定义标签的实现原理等进行解释,也就是说在此之前,我们假定你已经对自定义标签有一定的认识,当然,没有也无所谓,等这篇tutorial 完成后,你估计就会了解的差不多了。

呐,让我们从最简单的displaytag的使用开始,就跟你的第一个程序往往是从HelloWorld程序开始一样。

先忽略其他的配置问题,我们的JSP文件的源代码如下:实际上,除去初始化和数据准备等操作,生成表格的代码只有一行,那就是:而他生成的表格就是这样的:怎么样?是不是很简单那?简单的代码就可以生成如此漂亮的表格,你有理由不用嘛?(因为使用了Struts的LabelValueBean,所以表格上显示了原始的title,不用着急,后面我们将会说道如何修改成你所期待的样子)

[b]【配置configuration】[/b]

Ok,在我们运用DisplayTag之前,我们需要对他的使用环境进行一些配置,或许有些复杂,但是,如果你是一个WebApp老手的话,其实并不难。

当然,在此之前,我们需要下载DisplayTag,当前的最新版本是displaytag-1.0-b3。你可以去SourceForge下载它,下载网址是:

https://www.doczj.com/doc/3c12513892.html,/download.html 。

2.1 DisplayTag的类库,依赖库和TLD文件的添加

解压下载下来的displaytag的压缩包,之后依次拷贝displaytag-1.0-b3.jar和lib目录下面的所有jar文件到你自己的WEBAPP_HOME/WEB-INF/lib目录下面,拷贝displaytag-11.tld,displaytag-12.tld和displaytag-el-12.tld 到WEBAPP_HOME/WEB-INF目录下面。

他的依赖库包括:commons-beanutils,

commons-collections,commons-lang以及

commons-logging。

这里需要注意的问题就是,如果你连同Struts一起使用的话,DisplayTag的依赖库实际上都包括在Struts1.1的发布包中,你只需要将displaytag-1.0-b3.jar文件拷贝到你自己的WEBAPP_HOME/WEB-INF/lib目录下面就可以了。

另外一个重要的问题就是,如果你的Struts1.1发布包中的commons lang包不是2.0版本或者更高版本的话,需要去Apache的Jakarta commons项目主页上下载2.0版本的commons-lang类库,并替换掉原来的commons-lang类库,否则,运行的时候将报错误并不能运行。

2.2 web.xml的配置

要使用DisplayTag提供的自定义标签,跟其他自定义标签的使用没有什么两样,同样,需要在web.xml文件中注册taglib,下面是笔者的web.xml文件中taglib注册的片断:https://www.doczj.com/doc/3c12513892.html,

/WEB-INF/displaytag-11.tldhttps://www.doczj.com/doc/3c12513892.html,

/WEB-INF/displaytag-12.tldhttps://www.doczj.com/doc/3c12513892.html,/el

/WEB-INF/displaytag-el-12.tld在这里有必要说明一下这三个tld之间的区别,这其实在DisplayTag的官方网站上有提到,这里只是重复一下:displaytag-11.tld 只是提供对

JSP1.1规范的的支持,而displaytag-12.tld则提供了对

JSP1.2规范的支持,最后的displaytag-el-12.tld除了提供跟displaytag-12.tld提供的特性之外,他提供对Expression Lanuage的支持。所以,为了在web应用移植于不同的app server的时候可以更少的修改文件,这里将所有的tld都添加在这里以便使用。

配置完成taglib后,下面是可选择的配置项,如果你不需要的话,可以不进行配置,但建议还是配置他们为好。

第一幅图中可以看到diaplaytag提供了数据的导出功能,如果说你的Table存在的页面被include在另一个页面中,比如如果你使用Struts的话,那么Tiles的使用就是这种情况,那么你需要为web.xml中添加filter,以便数据到处功能能够工作正常。

首先,在web.xml中添加以下filter配置项(按照web.xml 文件中各个elements的顺序规定,需要将元素添加在前面,以下类似的情况请参考web.xml规范):ResponseOverrideFilter

org.displaytag.filter.ResponseOverrideFilter其次,添加filter 的映射:ResponseOverrideFilter

*.doResponseOverrideFilter

*.jsp这样,对于web.xml的配置基本就完成了。对于I18N 在web.xml文件中进行配置的手段,将在后面提到,不归入此类。

2.3属性文件的配置(displaytag.properties)DisplayTag提供了一个属性文件(displaytag.properties)来定义表格显示的时候提供的信息,比如分页显示或者导出数据等的提示信息等,但是因为这个属性文件默认的文件随jar文件一起发布而且是英文的,所以,我们需要对其进行定制以满足中文或者其他平台下的使用。

要对这个属性文件进行定制,有三种途径:

【1】使用标签,这个标签可以对单个的属性进行设置,也就是说如果要对整个的应用页面都进行定制的话,需要每个页面都使用这个标签并对每一个要定制的属性都使用它,这很明显不是太行得通,所以,displaytag还提供了下面得途径;

【2】使用DisplayPropertiesLoaderServlet来初始化环境,这种方式方式可以对整个应用的属性进行定制,但是,笔者使用这种方式的时候报错,不过,还是将其在web.xml文件中的配置项列于此:DisplayPropertiesLoaderServlet DisplayPropertiesLoaderServlet

displaytag initialization servlet

org.displaytag.properties.DisplayPropertiesLoaderServletp roperties.filename

/WEB-INF/displaytag.properties1这种方法也是读取diaplaytag.properties中的属性配置对整个应该环境进行定

制。

最后,也就是就第三中方式,也是笔者最常用的方式,那就是:

【3】新建一个diaplaytag.properties属性文件,向该文件中添加需要覆盖的或者需要另外定制的属性(具体有那些属性,DisplayTag网站提供了一个PDF格式的manual,上面有所有可以使用的属性的列表,因为太长,所以这里不作罗列)。这个文件的一个样本笔者将在后面的实例部分进行罗列。在准备好属性文件后,将其放到

WEBAPP_HOME/WEB-INF/classes目录下面就可以了。我想这也比其他方式方便的多,另外,这种方式也是针对整个的WEB应用进行定制。

以上就是配置文件的三种配置方式,第一种只能对单个属性单个页面进行,而后面两种方式可以针对整个的web应用,尤其是第三种方式,笔者尤其倡导。

2.4 CSS和img的移植

如果说你试着将页面中的这一句去掉的话:

/css/screen.css" type="text/css" media="screen, print" />,或许你会看到不想看到的景象,或者说你看到的表格将与你所期待的大相径庭:怎么样?与上面的简单实例相比,是不是淡色不少?!所以,要使得Displaytag提供最好的显示效果,或者说要显示正常,我们不但要保证服务器端的配置,

同样的也要保证视图层的配置,比如说CSS和Images。故此,建议将下载的压缩包中的diaplaytag.war文件包中的css目录和img目录拷贝到你当前工作的WEBApp的根目录下面,这样,就可以避免以上的事情发生。当然,这只是可以正常显示的必要条件,像上面那样,如果页面中不引入css 的话,同样会显示不正常。

至此,你的Displaytag的配置就算完成了。怎么样?是不是有些繁琐那?!不过不用担心,与它所带给你的便捷和强大的功能相比,这算不了什么。

好了,下面就让我们对它的一些概念进行一下探索吧![b]DisplayTag Tutorial by DarrenWang[/b]

CopyRight June,2004:em510:

By DarrenWang,All Rights Reserved!

接上回书说道,:em325:

[b]【displaytag提供的自定义标签说明】[/b]

DisplayTag一共提供了五种标签用来显示显示表格,他们是,,,和。通过这几个标签的组合可以完成大部分表格的显示功能。下面,笔者将就各个标签情况做一阐述,其中将会包括其功能以及使用中可能遇到的问题。

3-1 标签说明

DisplayTag标签库的顶层标签,用来显示整体的表格,通过从不同的scope中抽取数据并进行显示,根据Collection形

式的数据中的属性标志来罗列数据。剩下的所有的diplaytag 标签都嵌套于此标签之内。他所提供的主要功能包括:以CSV,XML和Excel形式导出数据;对于较长的数据,提供分页显示功能等等。

实例代码:该标签有一系列的属性(Attribute),因为太多,这里仅就几个主要而常用的进行说明:

Name属性:必须指定,表示scope中的数据标志,通过name 来引用scope中的数据并进行显示。可以指定pageScope,requestScope,sessionScope和applicationScope。其中requestScope是缺省的scope,如果数据像

request.setAttribute(“Infolist”,list)的形式放入requestScope,那么name属性可以直接像[name=“Infolist”]的形式指定。而像sessionScope的话,就要像上面的例子中那种形式指定了。

Id属性:指定显示表格的唯一标志,在后面你可以通过yourID_rowNum的形式显示或者使用每行数据的行号。比如:如果指定id=”tableID”,那么,就会输出数据的行号。而指定id的另一个作用就是,如果一个页面中有多个分页显示表格的话,指定id后,各个表格的分页就可以工作正常。

Export属性:需要指定boolean型的值,如果指定

export=true的话,表格显示完成后,下面会有一个输出项条目,指定数据导出的选项;否则,不显示数据导出条目。默

认为false。Pagesize属性:指定每页最多显示的数据总数。如果要显示的数据记录很长的话,指定pagesize后,数据将按照pagesize属性指定的数目显示记录数,其他的数据将分多个页面显示。如果不指定该属性,所有数据将在一个页面显示。Class属性:指定表格显示所要使用的css风格,displaytag提供了ISIS,ITS,Mars,Simple,Report五种风格,默认是ISIS,也就是上面的黄色色调的风格。这些风格都是在screen.css文件中定义的,可以根据需要修改或者添加需要的风格。RequestURI属性:当表格需要数据导出,排序或者分页显示的时候,因为要提交给指定的URL处理,而这个属性就是做这个事情的。

Sort属性:用来指定对数据进行排序的时候是对整个的数据list进行排序还是只对当前页面的数据进行排序。默认的不指定该属性的情况下,排序的时候只对当前页面数据进行排序;如果指定sort=“list”的话,则可以对整个的数据list进行排序。

OK,其他属性读者有兴趣或者需要的话,可以参考DiplayTag网站提供的manual。

3-2 标签说明

顾名思义,该标签是用来显示表格中的一列,它只能嵌套在标签中使用,显示decorator处理后的结果,如果没有指定decorator,则显示property属性指定的数据。

代码实例:该标签有个特性,即如果以空元素的形式出现,则显示property属性指定的数据;否则,也就是不以空元素形式出现,那么如果两个元素中指定了数据,即使property 指定的数据存在,也会以两个元素间的数据显示为准。

例如:或者将按照value属性指定的数据进行显示,而My Custom Value将在每行只显示“My Custom Value“,而不是显示property=”value”所指定的数据。

这个属性可以帮助你定制自己的列显示,后面将会提到某些实例中的使用。

标签的属性(Attribute)说明:

Property属性:指定与该列显示数据相关联的property名称,该属性对应该行数据bean的属性,如果这列要显示bean

的数据,column的这个属性是必须指定的。

如:

Title属性:该属性用来指定显示列的标题。如果不指定该属性,默认的使用property的名字做为该列的标题。这也就是我们第一个例子中两列的标题都是LabelValueBean的属性名的原因,我们只要为这两列指定需要的title就可以了。如:

Href属性和其关联属性:使用href属性动态构造当前列的各行数据的超连接。使用paramId来指定附在url字符串后面的参数名称,而使用paramName或者paramProperty来指

定与paramId相关联的参数值。

如:UPDATE DATA将会生成类似于下面的url形式:http://XXX/youApp/preUpdateAction.do?id=132(假设该行

的userId的值为132)

Sortable属性和headerClass属性:DisplayTag还提供了一个很有特色的特性,那就是可以针对某一列的数据进行排序,而这只需要指定sortable属性为true,并指定其headerClass 为sortable就可以了。

如:这样,就可以通过点击该列的标题来排序该列的数据了。其中,sortable属性接受boolean值为合法属性值,而headerClass为string型的合法值。

其他属性说明这里略去,请参考相关文档。

3-3 标签说明

使用这个标签可以对DisplayTag显示的表格的属性进行设置,但因为只能作用于单个的表格,所以,作用有限,一般用来处理个别的情况。该标签同样需要嵌套于标签内使用。它只有两个属性:name和value。通过为指定的name设置相应的value来更改displaytag的默认属性。

如:或者无记录可供显示

这些属性的name可以参考DisplayTag网站提供的TagReference文档,具体网址是

https://www.doczj.com/doc/3c12513892.html,/tagreference-displaytag-1

2.html。

3-4 标签说明

这个标签比较简单,就是完成html里面的标签所完成的功能。可以在表格的上方显示指定的自定义表头。

代码实例:Caption of The Table效果如下所示:3-5 标签说明

与标签相对应,这个标签用来显示表格的表尾。按照其实现的需求,该标签应该像在上图中那样在表尾显示,但是上图是在Jbuilder中抓下来的,显示正常,但是,如果在IE中,表尾文字将会在表头之上(我想,这应该是IE的问题)。如下图所示:至此,DisplayTag的五种标签就简单介绍完了,但是我们不想就此打住,下面,笔者将对DisplayTag的某

些特性做进一步的探索。

[b]【displaytag高级特性】[/b]

有些时候,Collection中提供的数据或许不是我们想要的形式,比如,货币字段,在DataObject中或许只是存为int或者long甚至BigDecimal等形式,但是,显示的时候,我们不想以这种形式显示在页面上,这个时候,我们就需要借助DisplayTag提供的Decorator特性。Decorator可以帮助我们在显示数据之前对相应的数据进行格式化,然后再返回格式化后的结果进行显示。下面我们就DisplayTag提供的column decorator和table decorator 进行简单的剖析并列

举其使用场合。

4-1 colunm decorator阐述

Column Decorator所能实现的格式化功能只能针对单一的列进行,他所适用的情况包括对货币,时间,数字等类型进行统一格式化的情况,这样,就可以在应用中的所有表格中都能够使用该decorator进行格式化,大大提高了其可服用度。缺点嘛,从笔者个人的使用情况来看,column decorator 不能对处于同一行的其他列的数据进行引用,对某些情况下的格式化很不方便,但这不属于Displaytag的问题,这些可以通过稍后将提到的Table decorator来实现。

要使用column decorator,需要实现DisplayTag库中的ColumnDecorator接口,这个接口位于

org.displaytag.decorator.ColumnDecorator。同时,实现静态的decorate()方法。在这个方法中对要格式化列的数据进行格式化操作。或许这么说有些抽象,让我们来看一个例子。

这个实例其实是DisplayTag自带的,我在这里只是进行简单的讲解。

代码如下:

import java.util.Date;

import https://www.doczj.com/doc/3c12513892.html,ng.time.FastDateFormat; import org.displaytag.decorator.ColumnDecorator;

public class LongDateWrapper

implements ColumnDecorator

{

private FastDateFormat dateFormat;

public LongDateWrapper()

{

dateFormat = FastDateFormat.getInstance("MM/dd/yyyy HH:mm:ss");

}

public final String decorate(Object columnValue)

{

Date date = (Date)columnValue;

return dateFormat.format(date);

}

}

该实例要对当前列的Date对象进行某种形式的格式化操作(实际上是MM/dd/yyyy HH:mm:ss的形式,这可以在code 中看到),所以他在格式化方法decorate中提取该列的Date 对象,并进行cast,然后使用commons-lang包中的FastDateFormat类对该对象进行格式化后返回String形式的结果。

与上原理所述,只要实现一个implemets了

ColumnDecorator的类,并override自己相应的decorate ()方法就可以了。另外,为了提高性能,最好是将初始化的操作放到该类的构造函数中,否则,当iterate数据记录的时候还要初始化资源,那性能可想而知不会高到那里去的。4-2 table decorator阐述

Table Decorator笔者使用的更多一些,他可以对整个表格的输出在显示之前进行格式化。表格在显示的时候,每次iterate 到一行记录的时候,都会首先查询decorator中是否实现了对各个列的数据对象进行格式化的方法,如果有,则调用这些方法对当前数据对象进行格式化,然后返回格式化后的结果进行显示;否则,直接返回当前数据对象进行显示。

如果说原始的数据对象不能够满足你数据显示需要的话,table Decorator就可以帮你忙。上面已经谈到过column Decorator遇到的问题:不能引用同行的数据对象,而现在table decorator就可以,你可以结合同一行的数据对当前行进行格式化,这在比如设置连接的时候要为连接设置不同的参数情况下特别有用。稍后实例将会有说阐明。

要编写Table decorator,首先需要继承DisplayTag包中的TableDecorator类,该类的确切位置是:

org.displaytag.decorator.TableDecorator。之后,因为我们要可以对没一列都能进行格式化,所以,针对每一个要格式化的字段,只要想javabean的属性getter方法那样,实现

每个字段的getter方法,并在该方法中实现针对该字段的格式化逻辑。

实例代码:

import org.displaytag.decorator.TableDecorator;

import https://www.doczj.com/doc/3c12513892.html,mons.beanutils.*;

public class UserTableDecorator extends TableDecorator {

public UserTableDecorator()

{

}

public String getUserId()

{

Object obj = this.getCurrentRowObject();

DynaBean row = (DynaBean)obj;

String deco = ""+row.get("userId");

return deco;

}

}

这是笔者后面实例中将会用到的一个TableDecorator,他是用来实现表格显示的时候能够生成便于用户选择的checkbox,以便用户可以选择一条或者多条数据进行删除或者其他操作。他生成的界面类似于:在这里,因为

ValueObject的UserID字段只是返回一个String型的数据,这不能满足我们要显示checkbox的需要,所以,按照Javabean的getter方法形式,我们实现了public String getUserId()方法,并在这个方法中实现了将数据格式化为checkbox相关形式的操作。其中,只要取得了当前行的数据对象并cast成正确的对象类型,就可以调用该对象的方法使用同一行的其他列数据了。

4-3 其他,像表格的嵌套和表格的排序,表格的总结行的添加等功能,希望读者能够自己研读DisplayTag Samples 的代码。

至此,有关Displaytag的decorator特性就算说完了。到现在为止,我们只是说了一些原理和简单的代码实例,为了给大家一个应用的意识,下面笔者就自己实现的一个简单工程做一个简单的描述,以期给大家一个更深的认识。

------------------------------------------------------------------------ [b]DisplayTag Tutorial by DarrenWang[/b]

CopyRight June,2004

By DarrenWang,All Rights Reserved!

------------------------------------------------------

话接上回:

[b]【table运行实例】[/b]

笔者原来做过几个有关Displaytag的demo,但是都只是研

习用的,为了给出一个实际情况下的例子,笔者就前阵子的一个面试题给出一个用户管理流程的实现。当时要求用Hibernate跟persistence层交互,因为这跟我们的主题没有多大关系,所以,我们采用将数据以DynaBean的形式放入session来模拟数据的处理。

5-1运行环境说明

IDE:Jbuilder X

AppServer:Tomcat 4.0.6

Framework:Struts1.1(with Tiles and Validator)

Other: DisplayTag(这个当然要有了,^_^),

commons-beanutils,commons-lang2

另外在进行实例的进一步剖析之前,建议使用以下的目录结构:按照配置部分所述,建议将压缩包中的displaytag.war 中的css目录和img目录都copy到当前的web应用根目录下面。另外,为所有的JavaScript文件建立单独的目录js(这里存放dTree的js类库),以便统一管理。因为我们使用到了Tiles,所以,拷贝整个Struts的Tiles应用中的layouts 目录到当前应用目录。剩下的就是为工程用到的图片新建project-image目录,该名称可以变化,不要与img重复就可以。

另外一个目录事init目录,笔者用来存放init.jsp文件以及其他初始化作用的文件,init.jsp文件的内容将在后面提到。

最后,为每一个应用模块建立他们自己的目录,如memo和users,这些目录下面再根据需要细分其他子目录。

Ok,环境就说到这里。

5-2实例讲解

该实例其实很简单,说白了也就是一个CRUD操作,就是管理员可以实现对用户的创建,读取,更新和删除等功能。不过,MIS要处理的不就是这这些嘛,呵呵,ok,let’s begin。因为什么都说的话太过繁琐,所以,笔者仅就整个流程和个别需要说明的内容做简单的描述,如果有兴趣读代码的话,可以email索取。

在管理员进入管理页面之前,我们需要一个Action来读取用户列表,以便管理员处理,所以,笔者定义了PreUserListAction,在这里,笔者构造了两个DynaBean并存入样例数据,然后转入管理员页面。PreUserListAction的execute()方法的代码片断:HttpSession session = httpServletRequest.getSession(); List userList = new ArrayList();

DynaProperty[] props = new DynaProperty[]{new DynaProperty("userId",String.class),new

DynaProperty("type",String.class),new

DynaProperty("userName",String.class),new DynaProperty("passWord",String.class)};

BasicDynaClass userClass = new

BasicDynaClass("user",null,props);

try{

DynaBean user1 = userClass.newInstance();

user1.set("userId","00001");

user1.set("type","admin");

user1.set("userName","Darren");

user1.set("passWord","112345");

userList.add(user1);

DynaBean user2 = userClass.newInstance();

user2.set("userId","00050");

user2.set("type","plain");

user2.set("userName","susan");

user2.set("passWord","2125465");

userList.add(user2);

}catch(Exception e)

{

e.printStackTrace();

}

session.setAttribute("UserList",userList);

return actionMapping.findForward("suc");

在转入用户管理页面后,管理员可以看到类似于下面的管理

声律启蒙十五删

xīnɡduìfèi,fùduìpān 兴对废,附对攀 lùcǎo duìshuānɡjiān 露草对霜菅 ɡēlián duìjièkòu 歌廉对借寇 xíkǒnɡduìxīyán 习孔对希颜 shān lěi lěi,shuǐchán chán 山垒垒,水潺潺 fènɡbìduìtàn huán 奉璧对探镮 lǐyóu ɡōnɡ dàn zuò 礼由公旦作 shīběn zhònɡníshān 诗本仲尼删lǘkùn kèfānɡjīnɡbàshu ǐ 驴困客方经灞水 jīmínɡrén yǐchūhánɡuān 鸡鸣人已出函关 jǐyèshuānɡfēi 几夜霜飞 yǐyǒu cānɡhónɡcíběi sài 已有苍鸿辞北塞 shùzhāo wùàn 数朝雾暗 qǐwúxuán bào yǐn nán shān 岂无玄豹隐南山 【解析】 兴对废,附对攀,露草对霜菅 兴废,兴盛和衰废。 [南朝梁] 刘勰《文心雕龙.史传》云:”表微盛衰,殷鉴兴废。” 《大宋宣和遗事.元集》云:”上下三千余年,兴废百千万事。” 攀,向上爬;附,靠近,依从。有成语“攀龙附凤”比喻依附权贵以成就功业。亦比喻依附有声望的人以立名。 [汉] 扬雄《法言·渊骞》:“攀龙鳞,附凤翼,巽以扬之,勃勃乎其不可及也。”唐·杜甫《洗兵马》:攀龙附凤势莫当,天下尽化为侯王。 露草:沾露的草。 [唐] 李华《木兰赋》:“露草白兮山凄凄,鹤既唳兮猿復啼。”[清] 谭嗣同《武昌夜泊》诗之二:“露草逼蛩语,霜花凋雁翎。”

霜菅:霜后枯萎的菅草。用以比喻白发。[宋] 苏轼《再用前韵(追饯正辅表兄至博罗赋诗为别)》:“乐天双鬢如霜菅,始知谢遣素与蛮。” [宋] 陆游《怀昔》诗:“岂知堕老境,槁木蒙霜菅。” 歌廉对借寇,习孔对希颜 歌廉歌颂廉范。 《后汉书》记载,东汉名臣廉范,字叔度,任蜀郡太守时为官清廉,更改禁民夜作旧令,让百姓储水以防火,百姓掌灯夜作,日渐丰裕。百姓歌曰:“廉叔度,来何暮,不禁火,民安作,昔无襦,今五衿”。 借寇挽留寇恂。 汉名臣寇恂,字子翼,历任河内、颍川、汝南太守。治理颍川期间颇有政绩,升迁离任后,次年随光武帝再至颍川平寇,所到之处群寇望风而降,百姓们纷纷于帝驾之前拦道,请求再借寇恂在颍川任职一年。后就用“借寇”表示挽留地方官,含有对政绩的称美之意。 习孔希颜:学习孔子,效仿颜回。习、希:都是学习和效仿的意思。 山垒垒,水潺潺 山垒垒垒垒:重叠的样子。《文选·曹丕·善哉行》:“还望故乡,鬱何垒垒。”[明]何景明《雁门太守行》诗云:“垒垒高山,莽莽代谷。” 水潺潺溪水徐徐流动。[三国]曹丕《丹霞蔽日行》云:“谷水潺潺,木落翩翩。” [唐] 杜牧《中秋日拜起居表晨渡天津桥即事十六韵献》诗云:“楼齐云漠漠,桥束水潺潺”。[唐] 李涉《竹枝词》诗云:“荆门滩急水潺潺,两岸猿啼烟满山”。 奉壁对探镮 奉璧即蔺相如“完璧归赵”典故。(参见本系列第十六讲:《作赋观书双雄事,回文锦字几华章?》中“奉璧蔺相如”一句之详解。) 探镮亦作“探环”。《晋书·羊祜传》载,西晋大臣羊祜(此前“羊公德大,邑人竖堕泪之碑”以及“叔子带”都曾讲到他)五岁时,叫乳母把他玩过的金环取来,乳母说:“你没有这种玩具呀!”羊祜就自己爬到邻居李家的树上,

displaytag标签的常用属性和方法

displaytag标签的常用属性和方法 2009年11月06日星期五08:32 P.M. 1.可以给它加上样式等,也可以定义显示的列 2.给它加个链接也很简单,下面的代码给name加了连接,并附带id参数 下面介绍几个Display最常用的功能,更多功能请参考https://www.doczj.com/doc/3c12513892.html,/displaytag-examples-1.1/。 1. 分页 如果想对代码分页,只需在display:table标签中添加一项pagesize="每页显示行数",如 2. 对列排序 display tag可对列进行排序,就是点击列名,对该列的数据进行排序。你只需对想要排序的列添加sort="true" 就OK,如下面的代码可对前三列进行排序。在display:table中添加defaultsort="列数",可默认对指定的列排序。 如果table有分页,Display Tag默认只对当前页进行排序,如果想对整个list排序,可以在display:table之间添加一段代码: 其实这种方式也不是很好,它是把所有记录一次性全查出来,浪费资源,而实际应用中,我们只要按照某种排序字段查询出本页显示的记录条数,所有可以采用外部排序: 然后就要在Action中获取排序的字段,排序的方式,查询每页显示记录数。 3. 导出数据 在display:table中添加export="true",看看会出现什么!Display Tag默认会提供三种数据导出方式:CSV、Excel、XML 。 另外Display Tag还可以导出为PDF格式,在https://www.doczj.com/doc/3c12513892.html,/itext/下载一个辅助包iText.jar,copy到lib目录下,然后在display:table之间添加一段代码: ,大功告成。 4. Display Tag的属性设置 前面所说的display:setProperty 是一种改变Display Tag属性的方法,但是在每个jsp中都要写太麻烦了。 Display Tag中设置了很多默认的属性,它有一个专门的属性文件,是在它的jar包中的displaytag/properties/TableTag.properties 想要改变它的默认属性,我们可以在WEB-INF\classes下新建一个文件displaytag.properties,

天地伟业网络视频服务器故障快速排查手册

天地伟业网络视频服务器故障快速排查手册 首先感谢您选用天地伟业网络视频产品,在使用之前,请详细阅读网络视频服务器使用说明书,熟悉产品使用方法,如果遇到问题可以按照以下方法进行故障排查。 为保证系统得正常运行,我们必须保证机器达到如下要求: 说明: 现场机器最好达到建议PC的配置,并安装相应硬件最新的驱动,此配置能满足16画面显示的要求,配置越高机器运行越流畅。 1.故障现象: IP搜索器搜索不到服务器 排查步骤: 1.确认网络视频服务器是否正常上电,主机网卡及驱动是否正常,网线是否做的没问题,网络拓扑连接是否通畅; 2.直接用交叉网线直接连接主机和网络视频服务器,如仍不通,给服务器复位再测试; 3.如有备件主机和网络视频服务器都做可更换测试; 4.如仍有问题请与我们联系; 2. 故障现象: IP搜索器能够正常搜索到服务器,但是IE不能正常连接视频 排查步骤: 1.确认主机IP地址和网络视频服务器地址设置在同一网段内,如不在同一网段改为同一网段; 注意:如在不同网段必须保证此两个网段做了路由; 2.确认IE的版本,建议安装IE6.0; 3.确认正常安装显卡驱动和DirectX,建议安装最新的显卡驱动和DirectX; 4.确认开启ActiveX相关插件; 5.暂时关闭杀毒软件自带防火墙测试;如是XP系统,暂时关闭系统自带防火墙; 6.删除之前曾经连接时下载的控件,重新连接测试; 7.更换主机测试; 8.如仍然有问题,请与我们联系; 3. 故障现象: 如果IE连接视频正常,但是软件连接视频不正常 排查步骤: 1.确认软件版本是否正确;如果版本不正确,重新安装正确的版本软件; 2.确认软件中“服务器编辑信息”的“IP地址”和“服务器类型”的正确;在局域望网建议采用“主码流+UDP”方式,广域网建议采用“副码流+TCP”方式; 3.确认在软件的主界面连接了视频; 4.重启软件连接;

(完整版)声律启蒙十四寒(详细注解及典故来历)

duō duìshǎo,yì duì nán 多对少,易对难 hǔ jù duì lónɡ pán 虎踞对龙蟠 lónɡzhōu duìfènɡniǎn 龙舟对凤辇 bái hè duìqīnɡ luán 白鹤对青鸾 fēnɡxīxī,lù tuán tuán 风淅淅,露漙漙 xiùɡǔ duìdiāoān 绣毂对雕鞍 yú yóu hé yèzhǎo 鱼游荷叶沼lù lìliǎo huātān 鹭立蓼花滩 yǒu jiǔruǎn diāo xī yònɡjiě 有酒阮貂奚用解 wú yú fénɡ jiá bìxū tán 无鱼冯铗必须弹 dīnɡɡùmènɡsōnɡ 丁固梦松 kē yèhū rán shēnɡ fùshànɡ 柯叶忽然生腹上 wén lánɡ huà zhú 文郎画竹 zhīshāo shūěr zhǎnɡ háo duān 枝梢倏尔长毫端

hán duìshǔ,shī duìgān 寒对暑,湿对干 lǔyǐn duì qí huán 鲁隐对齐桓 hán zhān duìnuǎn xí 寒毡对暖席 yèyǐn duì chén cān 夜饮对晨餐 shūzǐ dài,zhònɡ yóu ɡuān 叔子带,仲由冠 jiárǔ duì hán dān 郏鄏对邯郸 jiā héyōu xià hàn 嘉禾忧夏旱shuāi liǔ nài qiū hán 衰柳耐秋寒 yánɡliǔlǜzhē yuán liànɡ zhái 杨柳绿遮元亮宅 xìnɡhuāhónɡyìnɡzhònɡ ní tán 杏花红映仲尼坛 jiānɡshuǐ liúchánɡ 江水流长 huán rào sìqīnɡ luó dài 环绕似青罗带 hǎi chán lún mǎn 海蟾轮满 chénɡmínɡ rú bái yù pán 澄明如白玉盘 【解析】 寒对暑,湿对干,鲁隐对齐桓。 鲁隐:春秋鲁国第十四代君主,隐公姬息姑。孔子所作之《春秋》就起于鲁隐公元年(前722)。由于春秋以鲁国国史为基础而编,故当时的国际大事都是以鲁国纪年来记录。鲁隐公也因为其纪年年号常被提及而出名。 齐桓:春秋齐国桓公姜小白,是春秋五霸之首。是历史上第一个代替周天子充当盟主的诸侯。齐桓公晚年昏庸,管仲去世后,任用易牙、竖刁等小人,最终在内乱中饿死。 寒毡对暖席 寒毡:唐代画家郑虔,享有“诗书画三绝”之誉,与李白、杜甫为诗酒朋友,却生活清贫。杜甫曾经赠以诗曰:‘才名四十年,坐客寒无毡’云。”后以“寒毡”形容寒士清苦的生活。

log4j学习

log4j 如同Hadoop一样,把需要的jar包(hadoop.jar )和配置文件,放到CLASSPATH中, 配置Log4j也要如此,把log4j-1.2.8.jar,log4j.properties放到classpath中。配置 文件配置的是Log输出到哪里,如何输出,何时输出,哪些类的log要输出(等级)(Where, How,When,Who) 代码中用到的 private final Log log = LogFactory.getLog(getClass()); 得到类的全名,Log4j框架就会去找相应的package是否有设置输出log,以及它的等级。 如果等级为DEBUG那么log.isDebugEnabled()为true。如下所示,如果等级为INFO, 那么log.isInfoEnabled()、log.isWarnEnabled()、log.isErrorEnabled()这三个为true, 其他的为false?(有待确认) 等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则 不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而 DEBUG信息不会被显示,具体讲解可参照第三部分定义配置文件中的logger。 if (log.isDebugEnabled()){ log.debug("111"); } if (log.isInfoEnabled()){ https://www.doczj.com/doc/3c12513892.html,("222"); } 完整的文章如下: 在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。 Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人 感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。 此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。 说明:下面分为三部分, 第一部分讲解如何配置log4j; 第二部分为对log4j.properties配置文件中的各个属性的讲解; 第三部分为对log4j的详细讲解。 如果只想配置上log4j,那么只需要看前两个部分就可以,如果想对log4j深入了解,则还需看第三部分。 一、Log4j配置

EasyDecoder视频解码管理软件V3.0T-用户使用说明.

EasyDecoder视频解码管理软件 用户使用说明

目录 目录 (2) 1.系统说明 (5) 1.1概要 (5) 1.2功能简介与特点 (5) 1.3硬件配置 (5) 1.4软件平台与运行环境 (5) 1.5术语 (5) 1.6阅读指导 (6) 2.系统安装 (6) 2.1安装软件 (6) 3.系统主界面 (7) 4.系统运行操作 (7) 4.1进入系统/退出系统 (7) 进入系统 (8) 退出系统 (8) 4.2系统初始化 (8) 4.2.1服务器设置 (9) 4.2.1.1添加服务器 (9) 4.2.1.2智能添加服务器 (10) 4.2.1.3删除服务器 (11) 4.2.1.4修改服务器 (12) 4.2.1.5批量修改服务器 (14) 4.2.1.6反选功能 (14) 4.2.1.7检索服务器 (14) 4.2.1.8修改通道信息 (15) 4.2.2监控点管理 (15)

4.2.3解码器设置 (16) 4.2.3.1手动添加 (16) 4.2.3.2智能添加 (17) 4.2.3.3删除解码器 (17) 4.2.3.4修改解码器名称 (17) 4.2.3.5连接解码器 (18) 4.2.3.6断开解码器 (18) 4.2.3.7解码器设置 (18) 4.2.3.7.1网络设置 (19) 4.2.3.7.2DNS设置 (19) 4.2.3.7.3解码器参数设置 (20) 4.2.3.7.3.1485设置 (20) 4.2.3.7.3.2协议设置 (21) 4.2.3.7.4LOGO设置 (21) 4.2.3.7.5报警设置 (21) 4.2.4联机切换设置 (22) 4.2.4.1添加切换序列 (22) 4.2.4.2删除切换序列 (23) 4.2.4.3连接监控点 (23) 4.2.4.4停止预览 (24) 4.2.4.5打开/关闭音频 (24) 4.2.4.6开始/关闭对讲 (24) 4.2.4.7设备控制 (25) 4.2.4.8开始/停止切换 (26) 4.2.4.9显示模式设置 (26) 4.2.4.10其他 (26) 4.2.4.10.1切换不在线跳过显示 (26)

声律启蒙全文详解

《声律启蒙》全文详解 一东1 ————————注释———————— 1一东:“东”指“东韵”,是宋金时期的“平水韵”(也叫“诗韵”)中的一个韵部。“东”叫韵目,即这个韵部的代表字。东韵中包含有许多字,它们的共同点便是韵母相同(当然是指隋唐五代两宋时期的读音),像下面的三段文字中,每个句号之前的那个字,即风、空、虫、弓、东、宫、红、翁、同、童、穷、铜、通、融、虹等15字,尽管在现代汉语中的韵母并不完全相同,但都同属于东韵,如果是作格律诗,这些字就可以互相押韵。“一”,是指东韵在平水韵中的次序。平水韵按照平、上、去、人四个声调分为106个韵部,其中因为平声的字较多,故分为上下两个部分,东韵是上平声中的第一个韵部。后面的“二冬”、“三江”等情况也相同,不再一一说明。 云对雨,雪对风。晚照对晴空。来鸿对去燕,宿鸟对鸣虫。 三尺剑,六钧弓1。岭北对江东。人间清暑殿,天上广寒宫2。 两岸晓烟杨柳绿,一园春雨杏花红。 两鬓风霜,途次早行之客;一蓑烟雨,溪边晚钓之翁3。 ————————注释———————— 1这一联是两个典故。上联出自《史记·高祖本纪》。汉朝的开国君主刘邦曾经说:我以普通百姓的身份提着三尺长的宝剑而夺取了天下。下联出自《左传》,鲁国有个勇士叫颜高,他使用的弓为六钧(钧为古代重量单位,一钧三十斤),要用180斤的力气才能拉开。2清暑殿:洛阳的一座宫殿。广寒宫:《明皇杂录》说,唐明皇于中秋之夜游月宫,看见大门上悬挂着“广寒清虚之府”的匾额,后代便以广寒宫代指月宫。3次:军队临时驻扎,引申为一

般的短暂停留。途次,旅途的意思。 沿对革,异对同1。白吏对黄童2。江风对海雾,牧子对渔翁。 颜巷陋,阮途穷3。冀北对辽东。池中濯足水,门外打头风4。 梁帝讲经同泰寺,汉皇置酒未央宫5。 尘虑萦心,懒抚七弦绿绮;霜华满鬓,羞看百炼青铜6 ————————注释———————— 1沿:沿袭、遵照原样去做。革:变化、变革。2黄童:黄口之童,即儿童。黄,黄口,雏鸟的喙边有一圈黄色的边,长大就消失,故以黄口喻指年龄幼小的。3这是两个典故。上联出自《论语·雍也》,颜指颜回(字子渊),孔子的学生。孔子称赞他说:“一箪食、一瓢饮、在陋巷,人不堪其忧,回也不改其乐。贤哉,回也!”(吃一竹筐饭食,喝一瓢凉水,住在偏僻的巷子里,别人忍受不了这种贫穷,颜回不改变他快乐的心情。颜回呀,真是个贤人!)下联出自《晋书·阮籍传》。阮指阮籍(字嗣宗),魏晋时代人,博览群书,好老庄之学,为竹林七贤之一。《晋书》记载,阮籍经常驾车信马由缰地乱走,走到无路可走的时候便大哭而返。穷,到……的尽头,此处指无路可走之处。4濯(音zhuó)足水:屈原《渔父》中有“沧浪之水清兮,可以濯我缨;沧浪之水浊兮,可以濯我足”的句子,故濯足水指污水。打头风:行船时所遇到的逆风。5梁帝:南朝的梁武帝萧衍。他笃信佛教,经常和高僧们在同泰寺研讨佛经。汉皇:汉朝的开国之君刘邦。他曾宴请群臣于长安的未央宫,接受群臣的朝贺。6尘虑:对尘世间琐碎小事的忧虑。萦:缠绕。绿绮:琴名,据说汉代的司马相如曾弹琴向卓文君求爱,卓文君就用绿绮琴应和他。霜华:即霜花(“华”为“花”的古字),借指白发。百炼青铜:借指镜子,古人用青铜镜照面。 贫对富,塞对通。野叟对溪童。鬓皤对眉绿,齿皓对唇红1。 天浩浩,日融融2。佩剑对弯弓3。半溪流水绿,千树落花红。

OpenReports中文支持完全解决方案(新)

目录 一、主要解决的问题 (2) 1 页面显示支持中文 (2) 2 与服务器或数据库的交互支持中文 (2) 3 查询结果支持中文 (2) 4 导出文件名及内容支持中文 (2) 二、解决方案及方法 (2) 1 增加的类 (2) 1.1 cn.ExportDelegate (2) 1.2 cn.ResponseOverrideFilter (3) 1.3 cn.SetCharacterEncodingFilter (3) 1.4 org.displaytag.export.PdfView (4) 2 在web.xml中配置两个Filter,字符编码过滤器字符集设置为GBK (6) 3 增加PDF中文支持的JAR包 (6) 4 struts.properties配置文件字符编码改为GBK (7) 5 国际化配置文件 (7) 6修改displaytag.properties配置文件 (8) 7JSP页面文件字符集全部改为GBK (10)

OpenReports中文支持完全解决方案 一、主要解决的问题 1 页面显示支持中文 2 与服务器或数据库的交互支持中文 3 查询结果支持中文 4 导出文件名及内容支持中文 二、解决方案及方法 1 增加的类 1.1 cn.ExportDelegate 直接来自原文件org.displaytag.filter.ExportDelegate,只是将文件名转码, 解决中文表格数据和导出中文文件名时,会产生乱码现象。被cn.ResponseOverrideFilter调用。

1.2 cn.ResponseOverrideFilter 直接来自原文件org.displaytag.filter.ResponseOverrideFilter,原有ResponseOverrideFilter路径指向新建Filter的路径,必须。 1.3 cn.SetCharacterEncodingFilter 是一个标准的自定义字符集转换Filter,必须。

(完整版)《声律启蒙》最全注解与译文(五微)

上:五微 来对往,密对稀,燕舞对莺飞。风清对月朗①,露重对烟微。 霜菊瘦,雨梅肥,客路对渔矶②。晚霞舒锦绣,朝露缀珠玑③。 夏暑客思欹石枕,秋寒妇念寄边衣④。 春水才深,青草岸边渔父去;夕阳半落,绿莎原上牧童归⑤。 【注释】 ①朗:月光明亮。 ②(jī)矶:水边的石滩或突出的大石头。 【原文】来对往,密对稀,燕舞对莺飞。风清对月朗,露重对烟微。霜菊瘦,雨梅肥,客路对渔矶。 【译文】来和往相对,密集和稀疏相对,春燕轻舞和黄莺翻飞相对。清风和明月相对,浓重的露水和轻轻的炊烟相对,经霜的菊花冷峻清逸,经雨的梅子果繁叶茂。他乡的曲折小路和水边突出的岩石相对。 ③朝:早晨。珠玑:珍珠的统称。圆者为珠,不圆者为玑。 ④(qī)欹:不正、倾斜,这里是斜靠着、斜倚着的意思。念:想着。边衣:供戍守边防的战士穿的衣裳。古代军队战士的衣服(特别是寒衣)要由家中的妻子寄送。 【原文】晚霞舒锦绣,朝露缀珠玑。夏暑客思欹石枕,秋寒妇念寄边衣。 【译文】七彩的晚霞,犹如锦绣铺满天空;早晨的露珠晶莹剔透,犹如大大小小的珍珠。盛夏的时候,身在他乡作客的人躺在石板上纳凉思念家乡,秋天转寒时,妻子为戍守边疆的丈夫捎寄棉衣。 ⑤莎:草名,即香附。其块茎叫香附子,呈细长的纺锤形,可入药。 【原文】春水才深,青草岸边渔父去;夕阳半落,绿莎原上牧童归。 【译文】春天的水面,天色刚刚暗下来,青草岸边的渔夫就回家去了;夕阳还在半山腰,绿绿的草原上已有牧童归来。 宽对猛,是对非①,服美对乘肥②。珊瑚对玳瑁,锦绣对珠玑③。 桃灼灼,柳依依④,绿暗对红稀⑤。窗前莺并语,帘外燕双飞。 汉致太平三尺剑,周臻大定一戎衣⑥。 吟成赏月之诗,只愁月堕;斟满送春之酒,惟憾春归。 【注释】 ①宽对猛:宽指政策宽缓,猛指政策严厉,《左传》昭公二十年说:“宽以济猛,猛以济宽,政是以和。”(宽缓的政令和严厉的政令互相补充调剂,国家的政局就能上下和谐。) ②乘:乘坐。此处动词做名词用,指乘坐的马匹。是一种借代的修辞手法。也可能出自《论语?雍也》:“乘肥马,衣轻裘。”如此,则“服”和“乘”都应该是动词,而“美”和“肥”才应该看做借代,分别指“美丽的衣服”和“肥壮的马匹”。 ③珊瑚:海洋中一种腔肠动物的骨髓形成的树枝状的东西,颜色多样,可作装饰品。玳瑁:海洋中的一种动物,形状似大龟,背壳有花纹,四肢为鳍足状,甲片可作装饰,亦可入药。 ④此联两句均出自《诗经》。 上联出自《国风?周南?桃夭》,原文为:“桃之夭夭,灼灼其华。”(桃树长得多么茂盛呀,它的花开得像火焰一样。)。夭:盛貌;灼:鲜明,灼灼:鲜明兴盛状。 下联出自《小雅?采薇》,原文为:“昔我往矣,杨柳依依。”(以前我动身去打仗的时候,杨柳随风飘动)。 ⑤“绿暗”指绿叶颜色变深,“红稀”指红花凋谢变少,这都是晚春到初夏的景色。绿和红分别代指绿树和红花,是修辞中的借代手法。 【原文】宽对猛,是对非,服美对乘肥。珊瑚对玳瑁,锦绣对珠玑。桃灼灼,柳依依,绿暗对红稀。窗前莺并语,帘外燕双飞。 【译文】宽容和严厉相对,是和非相对,穿着华丽的衣裳和骑着高头大马相对,形状如花如树,珊瑚和玳瑁相对,精美鲜艳的丝织品和晶莹剔透的珍珠相对。桃花鲜艳夺目,柳树柔弱、随风摇摆,枝叶繁密茂盛和红花零星稀落相对。窗前两只黄营相对鸣叫,帘外一对燕子往来飞舞。 ⑥这是两个典故。 上联出自《史记?高祖本纪》,见一东注。 下联出自《尚书?武成》,书中说周朝“一戎衣,天下大定”,传统的解释是:周武王一穿上打仗的服装(戎衣),就消灭了商纣王,建立周朝,天下安定。(zhēn)臻:至、到。 【原文】汉致太平三尺剑,周臻大定一戎衣。吟成赏月之诗,只愁月堕;斟满送春之酒,惟憾春归。

j2ee实习报告

《j2ee软件开发》课程设计报告 系部:信息工程系 班级:计网0931班 姓名:陈银生 指导老师:陆立松、陈晓华、田娟 学期:2011-2012-1

目录 一、对Struts2的理解 (3) Struts2的模板和主题介绍 (3) jsp:基于JSP的模板技术 (4) 理解Struts2拦截器 (4) 实现Struts2拦截器原理 (4) displaytag问题 (4) 二、对各程序的分析 (5) ※对程序e_learning的分析 (5) 页面关系图 (5) 程序的调试 (5) 关键代码的分析 (6) ※对程序S2SH-Page的分析 (7) 页面关系图 (7) 关键代码的分析 (7) ※对程序s2shOaDemo的分析 (8) 页面实现的效果 (8) 重要代码分析 (10) ※对程序ckeditor的分析 (11) ※对程序display的分析 (11) 分页 (13) 对列排序 (13) 导出数据 (13) Display Tag的属性设置 (13) DisplayTag的不足 (13) 三、学习心得 (14)

在为期三个礼拜的j2ee课程设计中,我分别从e_learning、S2SH-Page、s2shOaDemo、ckeditor等程序中,再加上老师的讲解,让我受益匪浅啊,因此我将这三周老师的讲解做了做了初步总结工作。在总结之初我看到了两个问题。一个是要对J2EE认真总结,因为在以后的很长时间里我会离不开J2EE;另一个是要对学习过程和学习方法认真总结,因为这些将伴随我的一生。其实这两方面都很有指导意义,它们指引我未来一段时间要怎么度过,要学习哪些J2EE知识,要怎么学习这些知识。不过总结还有很大缺陷,J2EE组件间的联系和.NET之间的对比等都不是十分明朗。要在后续的课程学习和实践学习中再做完善与总结。J2EE有两个设计初衷,对生产厂商来说,它是一套开放标准,加入这个标准各厂商的产品就是一个成熟的企业运算体系中可以替换的部件了;对于开发者来讲,J2EE是一套现成的解决方案,采用这个解决方案,企业应用中的许多难题,如跨平台、事务处理、安全性等等,就会迎刃而解。所以,下面就是我对这些程序的一些分析。 一、对Struts2的理解 Struts2的模板和主题介绍 因为Struts2所有的UI标签都是基于主题和模板的,主题和模板是Struts2所有UI标签的核心。模板是一个UI标签的外在表示形式,例如:当我们使用标签时,Struts2就会根据对应select模板来生成一个有模板特色的下拉列表框。如果为所有的UI标签都提供了对应的模板,那么这系列的模板就形成了一个主题。 对于一个JSP页面里包含的UI标签而言,即可以直接设置该UI标签需要使用的模板,也可以设置该UI标签使用的主题。实际上对开发者而言,并不推荐直接设置模板属性,而是应该选择特定主题。设置主题的方法有以下几种:1,通过设定特定UI标签上的theme属性来指定主题。 2,通过设定特定UI标签外围的Form标签的theme属性来指定主题。 3,通过取得page会话范围内以theme为名称的属性来确定主题。 4,通过取得request会话范围内以theme为名称的属性来确定主题。 5,通过取得session会话范围内以theme为名称的属性来确定主题。 6,通过取得application会话范围内以theme为名称的属性来确定主题。

数字化公检法系统软件便携式标准版V7.1T_用户操作说明书(天地伟业)

数字化公检法系统软件便携 式标准版 用户操作说明书 V7.1

目录 1.审讯中心服务器系统设置说明 (1) 1.1服务器设置 (1) 1.2审讯室设置 (2) 1.3压缩预览参数设置 (3) 1.4用户管理: (4) 1.5设备管理 (8) 1.6日志及文件 (10) 1.7系统安全管理 (10) 2.审讯中心服务器使用操作说明 (11) 2.1登录 (13) 2.2视频显示区 (14) 2.3在线信息显示区 (16) 2.4功能使用 (16) 3.审讯中心服务器各种温湿度叠加器的设置和使用 (19) 3.1温湿度叠加设置方法 (19) 3.2TC-W8667测试软件 (20) 3.3TC-W8901DC (22) 3.4YL-S018SR (23) 3.5TC-H307P (31) 4.审讯终端软件操作使用说明 (33) 4.1登录主机 (33) 4.2添加案件 (34) 4.3审讯功能 (37) 4.4笔录管理 (41) 4.5案卷查询 (43) 4.6资料回放 (43) 5.数字化公检法系统软件便携式标准版安装部分 (44) 5.1卸载旧压缩卡驱程 (44) 5.2开始安装 (44) 5.3安装加密狗驱动 (45) 5.4安装专用数据库 (46) 6.故障查找与排除 (47)

1 感谢您选用我公司数字化公检法系统软件便携式标准版产品。 数字化公检法系统软件便携式标准版是根据最高检颁布的《人民检察院讯问职务犯罪嫌疑人实行全程同步录音录像系统建设规范》文件要求。通过加强计算机技术、图像数字化技术和信息技术的应用,实现司法系统对审讯室的标准化建设,利用现有的网络对审讯的讯问和询问过程进行有效的监督和管理,实现同步录音录像,提高侦查办案、协查办案的效率,加强办案、取证过程的真实性和有效性。 1. 审讯中心服务器系统设置说明 在使用数字化公检法系统软件便携式标准版前需要先初始化系统数据和配置参数,包括服务器设置、审讯室设置、指挥终端设置、压缩预览参数、用户管理、设备管理、日志文件、系统安全管理和短信设备管理。系统设置初始化后可以投入使用,进行审讯录像、电子笔录、远程指挥等操作。 在桌面上点击 图标,显示“系统设置--用户登录”界面,输入正确的用户名密码(系统默认用户名admin ,密码1111),登录系统设置软件。 1.1 服务器设置 系统设置的第一页为【服务器设置】,如下图:

《声律启蒙》最全注解与译文(三江)知识讲解.docx

《声律启蒙》最全注解与译文 ( 三江 )

上:三江 楼对阁,户对窗,巨海对长江。蓉裳对蕙帐①,玉斝对银釭②。 青布幔,碧油幢③,宝剑对金缸④。忠心安社稷,利口覆家邦⑤。 世祖中兴延马武,桀王失道杀龙逄⑥。 秋雨潇潇,漫烂黄花都满径;春风袅袅,扶疏绿竹正盈窗⑦。 【注释】 ① 蓉裳:绣有芙蓉花的衣裳,这里指绣有荷花的衣裳,比喻高洁; 蕙帐:用惠草做的帷帐, 比喻芳美 . ②(ji ǎ)斝:古代一种铜制的饮酒的器具。( gāng)釭:灯。意思为镶嵌在车( gǔ)毂之中的用来插车轴的铁制套环。 ③ 幢:古代一种用羽毛作装饰的用于仪仗的旗帜。又指佛教用物经幢。经幢有两种:在圆形的长筒状的绸伞上书写 佛经叫经幢,在圆形石柱上雕刻佛经叫石幢。此字还另有一个意思,指张挂于车或船上的帷幕,属于去声绛韵。这里 是用前者的读音、后者的意思来构成对仗,是“借对”的一种。 ④ 釭:原文作“缸”,疑误。东汉刘熙的《释名》说,函谷关以西的方言,称箭簇为“釭”。金釭,金属铸成的箭睐,只有此义方能与“宝剑”构成对仗。 【原文】楼对阁,户对窗,巨海对长江。蓉裳对蕙帐,玉斝对银釭。青布幔,碧油幢,宝剑对金缸。 【译文】楼和阁相对,户和窗相对,浩瀚的大海和滾滾的长江相对。蓉裳和蕙帐相对,玉制的酒器和银制的灯盏相 对。青色的布幔 ,碧绿的油幢,青绿色的油布帷幕,锋利的宝剑和金色的酒缸相对。⑤社稷:国家。社和稷分别指祭 祀土神和谷神的庙,是国家最重要的神庙,故用以代指国家。利口:能言善辩的嘴,代指只说不做的清谈家。家邦: 国家。邦:国。 【原文】忠心安社稷,利口覆家邦. 【译文】忠诚之心能使江山安定,尖利的嘴使国家毁灭。 ⑥这是两个典故。 上联出自《后汉书 ?马武传》。世祖,指光武帝刘秀,因其为首推翻了王莽建立的新朝,建立东汉,恢复了刘姓的 天下,故被称为中兴之主。马武字子张,骁勇善战,刘秀在一次宴会后,曾独自与马武一起登上丛台,延请马武为将 军,率领其精锐部队渔阳上谷突骑。马武十分感激刘秀的知遇之恩,所以忠心不二,在战争中功勋卓著。刘秀称帝后, 马武被封为捕虏将军扬虚侯,为云台二十八将之一。延:请。 下联出自《庄子 ?人间世》。(ji é)桀王指夏朝的亡国之君夏桀,据说他十分残暴。龙逄指夏朝的贤臣关龙逢(“逄”:为“逢”的俗字,音páng)。夏桀荒淫,关龙逢屡次直言进谏,后被囚杀。 ⑦ 黄花:此处特指菊花。扶疏:植物错落有致的样子。 【原文】秋雨潇潇,漫烂黄花都满径;春风袅袅,扶疏绿竹正盈窗 【译文】秋风冷雨,黄花飘落,铺满山路,微微的春风,茂盛的绿竹正遮挡住窗户。 旌对旆,盖对幢①,故国对他邦。千山对万水,九泽对三江②。 山岌岌,水淙淙,鼓振对钟撞③。清风生酒舍,皓月照书窗④。 阵上倒戈辛纣战,道旁系剑子婴降⑤。 夏日池塘,出沿浴波鸥对对;春风帘幕,往来营垒燕双双⑥。 【注释】 ①(pèi)旆:一种旗帜。盖:车盖,古代竖立在车上用来遮阳蔽雨的器具,形状类似现在的雨伞。 幢:张挂于车或船上的帷幕,此处是借对,参考前注。 ② 九泽:指占代分处于九州的九个湖泊,各书记载的名称小有差异,较为通行的说法是:具区(吴)、云梦(楚)、阳 华(秦)、大陆(晋)、圃田(梁)、孟诸(宋)、海隅(齐)、钜鹿(赵)、大沼(燕)。(见于《吕氏春秋? 有始》)三江:古代的三条江,其名称各书记载大不相同。《尚书 ?禹贡》中的“三江”,据唐陆德明《经典择文》的 说法,是指松江、委江、东江。 【原文】旌对旆,盖对幢,故国对他邦。千山对万水,九泽对三江。 【译文】旌和旆相对,车盖和帷幔相对,故国和他邦相对。千山和万水相对,众多湖泽和许多大江相对。

displaytable标签翻页中文乱码

display:table标签翻页中文乱码解决方案 出现乱码的前提条件,当搜索条件为中文时,查询出来了几页的数据,这时进行翻页操作,到下一页时搜索条件中的中文乱码了。 出现乱码的原因是因为翻页是通过get请求提交的,中文被编码,而后台程序对没有对其解码,导致了中文乱码。所以要解决这个问题最有效的办法就是通过post请求提交。在出现这个问题时,我在网上也搜索了一些资料,不过改成post提交的方法却没有。于是我看了displaytag的源码。TableWriterTemplate.java是用来画表格的抽象类,writeTable()方法定义了话表格的整个步骤,源码如下: public void writeTable(TableModel model, String id) throws JspException { try { // table id used for logging this.id = id; TableProperties properties = model.getProperties(); if (log.isDebugEnabled()) { log.debug("[" + this.id + "] writeTable called for table [" + this.id + "]"); } // Handle empty table boolean noItems = model.getRowListPage().size() == 0; if (noItems && !properties.getEmptyListShowTable()) { writeEmptyListMessage(properties.getEmptyListMessage()); return; } // Put the page stuff there if it needs to be there... if (properties.getAddPagingBannerTop()) { // search result and navigation bar writeTopBanner(model);//此方法会动态拼装了翻页的 onclick事件执行的js,提交的参数。 } // open table

天地伟业键盘说明书-5810网络键盘安装使用手册上课讲义

网络键盘安装使用手册

目录 第一章键盘简介 (1) 1.1 功能特点 (1) 1.2 产品外观 (1) 1.3 技术指标 (1) 第二章键盘安装 (2) 2.1 放置 (2) 2.2 接口 (2) 2.3 安装 (2) 第三章键盘设置 (3) 3.1 设置 (3) 3.2 键盘开机 (3) 3.3 键盘登录 (3) 3.4 设置键盘 (4) 3.4.1网络管理 (4) 3.4.2用户管理 (4) 3.4.3 密码管理 (5) 3.4.4 设备管理 (5) 3.4.5 硬件设置 (5) 3.4.6 锁定设置 (5) 3.4.7 硬件检测 (6) 3.4.8摇杆校准 (6) 第四章矩阵控制 (8) 4.1 登录矩阵 (8) 4.2 矩阵操作界面 (8) 4.3 切换操作 (9) 4.4前端控制 (10) 4.5报警控制 (10) 4.6宏操作 (10) 4.7 越权控制 (10) 4.8 码分配器设置 (10) 4.9 锁定 (11) 4.10 列表 (11) 第五章网络升级 (12)

第一章键盘简介网络键盘配合智能网络矩阵使用,功能丰富、操作简单。 1.1 功能特点 ●中文编程操作界面 ●中文硅胶按键 ●大屏幕液晶屏幕 ●详细的矩阵及前端信息 ●以太网通讯 ●二维变速摇杆 ●使用简捷方便 1.2 产品外观 1.3 技术指标 工作温度:-10℃~50℃ 工作湿度:<90% 工作电压:DC12V 功耗:4W 以太网接口:10BaseT UDP(局域网) 外形尺寸(mm):300×160×43(长×宽×高)

第二章键盘安装 2.1 放置 键盘采用工学设计,水平放置控制台面即可。 2.2 接口 网络键盘背部有两个接口:一个为电源接口,外接DC12V电源给键盘供电;另一个为RJ45网络接口,连接智能网络矩阵。 2.3 安装 标准版本的网络键盘硬件只支持控制智能网络矩阵(控制其它监控设备需要在标准版本的硬件基础上稍作调整),所以标准版网络键盘只能将当前设备选择为矩阵。用网线将矩阵接到键盘的网络接口,接上电源,即完成了键盘和矩阵的物理连接。 注:由于智能网络矩阵内置交换机单元,所以网络键盘连接智能网络矩阵采用直通线序的标准网线。

DisplayTag详解

DisplayTag详解 【简介Introduction】 DisplayTag是一个开源的自定义标签库(Custom Tag lib),他提供了直接而有效的格式化web视图层数据的有效手段。你可以在现在流行的web应用的MVC模式中集成DisplayTag到View层,其提供的强大表格格式化功能一定会令你爱不释手。或许上面说的有些夸张了,但是DisplayTag在表格的格式化方面表现确实出色,当然,他也只能显示表格,视图层的大部分工作不就是使用表格来格式化数据嘛?! 好了,让我们通过图片来看看他是一个什么样子吧!^_^怎么样?是不是感觉不错那?如果答案是肯定的,那么你一定急着想自己试一试咯?!不要急,下面就让我们开始我们的DisplayTag之旅。 [b]【Hello DisplayTag】[/b] 既然是一个tutorial,所以,我们不想对像自定义标签的实现原理等进行解释,也就是说在此之前,我们假定你已经对自定义标签有一定的认识,当然,没有也无所谓,等这篇tutorial 完成后,你估计就会了解的差不多了。 呐,让我们从最简单的displaytag的使用开始,就跟你的第一个程序往往是从HelloWorld程序开始一样。

先忽略其他的配置问题,我们的JSP文件的源代码如下:实际上,除去初始化和数据准备等操作,生成表格的代码只有一行,那就是:而他生成的表格就是这样的:怎么样?是不是很简单那?简单的代码就可以生成如此漂亮的表格,你有理由不用嘛?(因为使用了Struts的LabelValueBean,所以表格上显示了原始的title,不用着急,后面我们将会说道如何修改成你所期待的样子) [b]【配置configuration】[/b] Ok,在我们运用DisplayTag之前,我们需要对他的使用环境进行一些配置,或许有些复杂,但是,如果你是一个WebApp老手的话,其实并不难。 当然,在此之前,我们需要下载DisplayTag,当前的最新版本是displaytag-1.0-b3。你可以去SourceForge下载它,下载网址是: https://www.doczj.com/doc/3c12513892.html,/download.html 。 2.1 DisplayTag的类库,依赖库和TLD文件的添加 解压下载下来的displaytag的压缩包,之后依次拷贝displaytag-1.0-b3.jar和lib目录下面的所有jar文件到你自己的WEBAPP_HOME/WEB-INF/lib目录下面,拷贝displaytag-11.tld,displaytag-12.tld和displaytag-el-12.tld 到WEBAPP_HOME/WEB-INF目录下面。 他的依赖库包括:commons-beanutils,

相关主题
文本预览
相关文档 最新文档