vlh 标签详解
1.vlh:root root标签做为所有vlh标签的根标签.
1)value 在给定的范围内,包含在ValueList或list的变量名. List的实例自动被DefaultListBackedValueList包装在ValueList中
2)id 如果有多个表被包含在一个request中,ID属性能区分每个表。id被追加到所有的parameters中。
例如:表ID=(blob),那么分页参数中将包含?paggingColumn=firstName(bob),没有ID指定时,使用默认ID。
当在WEB中使用ValueListHandlerHelper时,ID用来构建list中的信息,因此要在application中指定唯一的ID
3)url 返回的URL,在表生成后所有的连接自动生成,只有action标签可以被覆盖
例:
<vlh:root id="MyTable" value="list" url="userAction.do?" includeParameters="*" >
所有的链接以 "?"起始. 结果像下面这样:
<a href="userAction.do?param1=value1" >
4)configName ValueListConfigBean 的id名. 它的名称被定义在spring的配置文件中,用来为表格配置风格.一般 情况我更愿意使用table的class属性配置风格。valueList为class也指定了三种风格classicLook、microsoftLook、simpleLook.是以三个properties文件形式提供的
2.vlh:row 这是一个迭代标签. 这个标签迭代在ValueList中对象的属性
1)bean 在迭代标签上使用pageContext的key名
假设我们有一个类Player有getId方法
<vlh:row bean="player"> 使用EL语言,显示Player的id值 ${player.id}. </vlh:row>
2)display 指定要显示的adpater名(在configuration bean中定义),默认是html,还有cvs,excel等
3.vlh:column 显示每一列的值 例:<vlh:column title="Id of Player" property="id" sortable="desc" emphasisPattern="1"/>
显示列,标题为"Id of Player",显示id属性的值,如果值中包含"1" ,将被高亮显示
1)sortable 是否排序.
asc 升序排列. desc 降序排列
2)property 在adapter中得到javabean的属性名
3) groupKey 为列指定groupKey值,将使该列相同的数据合并,其余为空白
4) format 格式化number,java.util.date or Calendar类型数据。使用WEB浏览器的locale做为默认的locale
例:
<vlh:column format="#,###,##0.00" locale="ref to locale instance" .. > 使用指定的locale. <vlh:column format="#,###,##0.00" >使用浏览器的locale
5) title 指定列标题
6) emphasisPattern 这个模式能够高亮列的显示,它会在所有的分页中均高亮显示
例:
<vlh:column title="playerid" property="id" sortable="desc" emphasisPattern="30" />
id的值中含有30的列将被高亮显示
7) attributes 允许指定html属性
例:
<vlh:column title="lastname" property="lastname" sortable="desc" attributes="width='150'"/>
4.vlh:attribute 为整个table设定附加html属性.
使用在vlh:column 上的attributes属性只为header设置属性。而使用vlh:attribute标签将为所有的行设置属性
5.vlh:paging 生成分页和焦点的标签
<vlh:paging showSummary="true" pages="3"><c:out value="${page}"/></vlh:paging>
6.vlh:controls 为行添加指定的列
1)title 列的标题名
7.vlh:action 为每行的action中添加编辑、删除动作
例:
<vlh:root url="baseUrl.do" > <vlh:controls titleKey="Control" > <vlh:action url="edit.jsp?" customParameters="<%=customParams%>"> 使用自定义的HashMap变量customParams,并做为参数到添加到"edit.jsp?"的url中. </vlh:controls> </vlh:root>
生成的url像这样 ..\edit.jsp?&custumParam1=customParamValue1&....&customParamN=customParamValueN
其中custumParam1...custumParamN是customParams中的key
8.vlh:addParam 设定任意的参数到父标签,如root,action等
例:为vlh:action添加参数
<vlh:action url="\delete.do?" customParameters="<%=customParams%>"> 这是生成的基本url ..\delete.do? <vlh:addParam name="id" property="id" temp="true"/> 添加如下参数到url中 &ACTid="Row-Java-Bean.getId()",如果temp值为true,添加ACTION_TEMP_PARAM 前缀到参数名中 <vlh:addParam name="id" property="id" temp="false"/> 添加如下参数到url中 &id="Row-Java-Bean.getId()" ,temp值为false,不添加前缀 <vlh:addParam property="xyz" /> 添加如下参数到url中 &ACTxyz="javabean.getXyz()" ,temp值默认为true <vlh:addParam name="OneStaticParam" value="OneStaticValue" temp="false"/> 添加静态的url参数到url中 &OneStaticParam="OneStaticValue" </vlh:action>
例:为vlh:root添加参数
<vlh:root url="?" customParameters="<%=customParams%>"> <vlh:addParam name="method" value="doView" temp="false"/> 添加静态的url参数到url中,呈现结果:..\?method=doView </vlh:root>