??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩影院在线,99热99re6国产在线播放,91久久精品国产91性色tvhttp://www.aygfsteel.com/qiqijava/category/5079.html我心跛_zh-cnSat, 03 Mar 2007 08:55:08 GMTSat, 03 Mar 2007 08:55:08 GMT60ValueList原理说明http://www.aygfsteel.com/qiqijava/articles/46427.htmlqiqijavaqiqijavaTue, 16 May 2006 08:15:00 GMThttp://www.aygfsteel.com/qiqijava/articles/46427.htmlhttp://www.aygfsteel.com/qiqijava/comments/46427.htmlhttp://www.aygfsteel.com/qiqijava/articles/46427.html#Feedback2http://www.aygfsteel.com/qiqijava/comments/commentRss/46427.htmlhttp://www.aygfsteel.com/qiqijava/services/trackbacks/46427.html                            ValueList中四个主要的接口与实现类

1. ValueListInfo 装Map对象Q含有排序、分c聚焦和提交表单{相关信?br />2. ValueListHandler接口Q实现类QDefaultValueListHandlerImpl 它是ValueList中的核心c,其定义在配置文g?调用getValueListҎ(gu)q回ValueList对象
3. ValueList接口Q实现类QDefaultListBackedValueList 它包含两个对象,1Q域对象的结果集Q?QValueListInfo对象
4. ValueListAdapter接口Q有以下几种实现
 ?DefaultWrapperAdapter         jdbc操作的适配?br /> ?EventLogAdapter               日志操作的适配?br /> ?FileSystemAdapter             文gpȝ操作的适配?br /> ?HibernateAdapter              hibernate操作的适配?br /> ?MappingSqlQueryAdapter        iBATIS的sqlMap适配?br /> 
具体实现程

W一步:从请求中构造ValueListInfo对象Q由帮助cValueListRequestUtil实现
 从请求中取得URL的参数和pȝ默认值来构造ValueListInfo对象
 
W二步:得到Adapter的实现类
 调用getBeanҎ(gu)Q从配置文g中取得ValueListHandler实现c,调用getValueListҎ(gu)Q得到实体key对应的AdapterQ如Q?br /> <bean class="net.mlw.vlh.adapter.hibernate3.HibernateAdapter">
  <property name="sessionFactory"><ref bean="mySessionFactory"/></property>
  <property name="defaultNumberPerPage"><value>10</value></property>
  <property name="defaultSortColumn"><value>messageIn.date</value></property>
  <property name="defaultSortDirection"><value>desc</value></property>
  <property name="hql">
  <value>
  from User AS vo
   /~certNumber: where vo.certNumber like {certNumber} ~/
   /~name: where vo.name like {name} ~/
   /~certHolder: where vo.certHolder like {certHolder} ~/
   /~groupName: where vo.group.name like {groupName} ~/
   /~sortColumn: ORDER BY vo.[sortColumn] [sortDirection]~/
  </value>
  </property>
  <property name="defaultFocusPropertyObjectAlias"><value>vo</value></property>
  <property name="maxRowsForFocus"><value>160000</value></property>  
  <property name="removeEmptyStrings"><value>true</value></property>
 </bean>
W三步:构造ValueList对象Q用DefaultListBackedValueList实现c?br /> 用适配器取得结果集Q如HibernateAdapterQ?装ValueList对象
 ValueList中包含两个对象,1Q域对象的结果集Q?QValueListInfo对象Q分늚相关息)
 
W四步:把ValueList对象攑ֈWEB的作用域?/p>

HQL说明Q主要通过q代动态生成HQL语句
from User AS vo
 /~certNumber: where vo.certNumber like {certNumber} ~/           (1)
 /~name: where vo.name like {name} ~/                             (2)
 /~certHolder: where vo.certHolder like {certHolder} ~/           (3)
 /~groupName: where vo.group.name like {groupName} ~/             (4)
 /~sortColumn: ORDER BY vo.[sortColumn] [sortDirection]~/         (5)

Q?Q如果ValueListInfo中包含certNumber变量Q如certNumber=100Q则vo.certNumber like=100Q生成HQL=from User AS vo where vo.certNumber like=100Q?br />        如果ValueListInfo中不包含certNumber变量Q生成HQL=from User AS vo   (1)行由I白代替
其它以此cL
注意Q传lHQL的每个变量都要单独占一行,q是类似between and 的语句也要分两行?br />



qiqijava 2006-05-16 16:15 发表评论
]]>
ValueList标签说明http://www.aygfsteel.com/qiqijava/articles/23078.htmlqiqijavaqiqijavaFri, 09 Dec 2005 02:13:00 GMThttp://www.aygfsteel.com/qiqijava/articles/23078.htmlhttp://www.aygfsteel.com/qiqijava/comments/23078.htmlhttp://www.aygfsteel.com/qiqijava/articles/23078.html#Feedback2http://www.aygfsteel.com/qiqijava/comments/commentRss/23078.htmlhttp://www.aygfsteel.com/qiqijava/services/trackbacks/23078.html一.标签说明Q?整理一下valueList的标{api文档Q做了简短说?只列出常用标{֒相关重要属?

1.vlh:root  root标签做ؓ所有vlh标签的根标签.
  1)value  在给定的范围内,包含在ValueList或list的变量名. List的实例自动被DefaultListBackedValueList包装在ValueList?BR>  2)id  如果有多个表被包含在一个request中,ID属性能区分每个表。id被追加到所有的parameters中?BR>      例如Q表ID=(blob)Q那么分参C包?paggingColumn=firstName(bob)Q没有ID指定Ӟ使用默认ID?BR>      当在WEB中用ValueListHandlerHelperӞID用来构徏list中的信息Q因此要在application中指定唯一的ID
  3)url   q回的URLQ在表生成后所有的q接自动生成Q只有action标签可以被覆?BR>   例:<vlh:root id="MyTable" value="list" url="userAction.do?" includeParameters="*" >
       所有的链接?"?"起始. l果像下面这?
       <a href="userAction.do?param1=value1&....&paramN=valueN" >
  4)configName  ValueListConfigBean 的id? 它的名称被定义在spring的配|文件中,用来格配|风?一?nbsp; 情况我更愿意使用table的class属性配|风根{valueList为class也指定了三种风格classicLook、microsoftLook、simpleLook.是以三个properties文g形式提供?BR> 
2.vlh:row q是一个P代标{? q个标签q代在ValueList中对象的属?/STRONG>
  1Qbean  在P代标{上使用pageContext的key?BR>    假设我们有一个类Player有getIdҎ(gu)
 <vlh:row bean="player">
   使用EL语言Q显CPlayer的id?${player.id}.
 </vlh:row>
  2)display  指定要显C的adpater?在configuration bean中定?Q默认是html,q有cvs,excel{?BR>
3.vlh:column  昄每一列的?BR>  例:<vlh:column title="Id of Player" property="id" sortable="desc" emphasisPattern="1"/>
         昄列,标题?Id of Player"Q显Cid属性的|如果g包含"1" ,被高亮昄
  1Qsortable  是否排序.
       asc 升序排列. desc 降序排列
  2Qproperty  在adapter中得到javabean的属性名
  3)  groupKey  为列指定groupKey|该列相同的数据合qӞ其余为空?BR>  4)  format  格式化number,java.util.date or Calendarcd数据。用WEB览器的locale做ؓ默认的locale
     例:
          <vlh:column format="#,###,##0.00" locale="ref to locale instance" .. > 使用指定的locale.
          <vlh:column format="#,###,##0.00" >使用览器的locale
  5)  title  指定列标?BR>  6)  emphasisPattern  q个模式能够高亮列的昄,它会在所有的分页中均高亮昄
     例:
         <vlh:column title="playerid" property="id" sortable="desc" emphasisPattern="30" />
        id的g含有30的列被高亮昄
  7)  attributes  允许指定html属?BR>     例:
         <vlh:column title="lastname" property="lastname" sortable="desc" attributes="width='150'"/>

4.vlh:attribute 为整个table讑֮附加html属?
   使用在vlh:column 上的attributes属性只为header讄属性。而用vlh:attribute标签ؓ所有的行设|属?BR>
5.vlh:paging  生成分页和焦点的标签
  <vlh:paging showSummary="true" pages="3"><c:out value="${page}"/></vlh:paging>

6.vlh:controls d指定的列
   1)title 列的标题?BR>
7.vlh:action  为每行的action中添加编辑、删除动?BR>  例:<vlh:root url="baseUrl.do" >
    <vlh:controls titleKey="Control" >
    <vlh:action url="edit.jsp?" customParameters="<%=customParams%>">
      使用自定义的HashMap变量customParamsQƈ做ؓ参数到添加到"edit.jsp?"的url?
    </vlh:controls> 
    </vlh:root>
      生成的url像这?..\edit.jsp?&custumParam1=customParamValue1&....&customParamN=customParamValueN
其中custumParam1...custumParamN是customParams中的key

8.vlh:addParam  讑֮L的参数到父标{,如root,action{?/STRONG>
  例:为vlh:actiond参数
     <vlh:action url="\delete.do?" customParameters="<%=customParams%>"> q是生成的基本url ..\delete.do?
     <vlh:addParam name="id" property="id" temp="true"/>
         d如下参数到url?&ACTid="Row-Java-Bean.getId()"Q如果tempgؓtrue,dACTION_TEMP_PARAM 前缀到参数名?BR>     <vlh:addParam name="id" property="id" temp="false"/>
          d如下参数到url?&id="Row-Java-Bean.getId()" Qtempgؓfalse,不添加前~
    <vlh:addParam property="xyz" />
         d如下参数到url?&ACTxyz="javabean.getXyz()" Qtemp值默认ؓtrue
    <vlh:addParam name="OneStaticParam" value="OneStaticValue" temp="false"/>
        d静态的url参数到url?&OneStaticParam="OneStaticValue"
    </vlh:action>
  例:为vlh:rootd参数
       <vlh:root url="?" customParameters="<%=customParams%>">
       <vlh:addParam name="method" value="doView" temp="false"/>
           d静态的url参数到url?呈现l果Q?.\?method=doView
      </vlh:root>


 



qiqijava 2005-12-09 10:13 发表评论
]]>
displayTag学习(fn)摘要http://www.aygfsteel.com/qiqijava/articles/20801.htmlqiqijavaqiqijavaMon, 21 Nov 2005 09:11:00 GMThttp://www.aygfsteel.com/qiqijava/articles/20801.htmlhttp://www.aygfsteel.com/qiqijava/comments/20801.htmlhttp://www.aygfsteel.com/qiqijava/articles/20801.html#Feedback0http://www.aygfsteel.com/qiqijava/comments/commentRss/20801.htmlhttp://www.aygfsteel.com/qiqijava/services/trackbacks/20801.html当时惌q样一个标{,能实现分c排序、过滤、搜索功能,且页面比较美观。先后学?fn)了三个比较有名的标{:displayTag、eXtremeComponents、valueList。个人感觉:

display上手Ҏ(gu)Q功能简单,界面漂亮Q不q功能比较有限。感觉最不爽的就是在一上排好序后Q再点击下一后Q排序就׃。而且当数据量大时Q它的排序会有问?/P>

eXtremeComponents上手Ҏ(gu)Q操作烦索,界面一般,不过L(fng)在排序上没有displayTag的问题。数据量大时Q它的排序也会有问题

valueList我认为最强大的标{,需要与springl合使用Q上手不易,界面漂亮Q功能超强。目前没有发CQ何不爽的地方?/P>

先脓(chung)出display的心得,后箋会脓(chung)出其它两个的心得


                                  displayTag学习(fn)摘要
1.tableTag中name属性:值默认作用域Qrequest
<display:table name="accList">
如果作用域ؓsessionQ则<display:table name="sessionScope.accList">
tableTag中指定ID属性会把该对象加入到pageContext对象中去。如ID="test"
<%int cate=((Role)pageContext.getAttribute("test")).getCategory();%>
生成表格的序列号 例如Q?lt;display:table id="row" name="mylist">
<display:column title="序列?><%=pageContext.getAttribute("row_rowNum")%></display:column>
如行Prow_rowNum <c:out value="${row_rowNum}"/>
firstName:row.firstName   <c:out value="${row.firstName}"/>
lastName: row.lastName  全部由ID来取?/P>

2.限制面昄的结果集?BR> 1)全部<display:table name="accList" class="its" id="test">
 2)??lt;display:table name="accList" class="its" id="test" length="5">
 3)从第二个开始,昄??lt;display:table name="accList" class="its" id="test" offset="2" length="5">

3.包装器decorators,有行包装?必须l承TableDecorator)和列包装?必须实现ColumnDecorator)
  在tableTag中显ClistӞdecorators中的Ҏ(gu)会在list前调用,如果decorators实现cM有相关的getXXX()Ҏ(gu)Ӟ调用此方法,如果没有Q则直接调用list
  在columnTag中显CvalueӞdecorators中的Ҏ(gu)会先调用Q?应该重用)

4.传递参敎ͼ有两U方式,
  一。struts方式Q有以下几个属?BR>  1)href 基本的超q接
  2)paramId d到url上的参数?BR>  <display:column property="status" href="details.jsp" paramId="id" paramProperty="id" />
  3)paramName 传递容器内的其它bean当作参数 如:request.setAttribute("testparam", "sendamail");
  <display:column property="email" href="details.jsp" paramId="action" paramName="testparam" paramScope="request" />
  4)paramScope 指定bean的作用域
  二。decorators方式
  cWrapperҎ(gu)Qpublic String getLink1()
 {
  ListObject lObject= (ListObject)getCurrentRowObject();
  int lIndex= getListIndex();
  return "<a href="details.jsp?index=" + lIndex + "">" + lObject.getId() + "</a>";
 }标签Q?BR> <display:table name="sessionScope.details" decorator="org.displaytag.sample.Wrapper" >
  <display:column property="link1" title="ID" />
  <display:column property="email" />
</display:table>

5.分页
  指定属?pagesize="10" 每页昄10条记?/P>

6.排序
  1Q在list中封装的对象的属性要实现Comparable接口,(一般均实现?
  2) 在columnTag中指定sortable="true"
  可指定默认排序的?defaultsort="1" 数gؓW几列默认排?defaultorder="descending" 指定默认为降?/P>

7.导出 支持下列格式Q?html', 'xml', 'csv', and 'excel'.
  属性:export="true",注意导出无效Q当使用jsp:include or the RequestDispatcher
  <display:column media="csv excel" title="URL" property="url"/>
  指定该url属性值只能在csv、excel中导?BR>  需要指定export filter.

8.更改默认讄
  1)通过<display:setProperty name=... value=...> 标签Q可以覆盖一些默认设|?BR>  2)创徏displaytag.properties文gQ所有时区共用,Z文编码则创徏displaytag_zh_cn.propertiesQ放到类路径?jar包内共有两个默认的属性文件TableTag.propertiesQmessage.properties

9其它
  1)当多个表在一|C时Q每个表都想要有分页、排序、导出等功能Ӟ只需为每个table指定一个不同的ID卛_?BR>  2)增加表头<display:caption>角色理</display:caption>
  3)增加表尾  <display:footer><tr><td colspan="6" align="center" >国瑞数码版权所?lt;/td></tr></display:footer>
  4)http和email自动链接功能Q指定autolink="true"
  5)指定一列显C的最大长度,避免太长把表格变?maxLength="10" style="whitespace: nowrap;"
  6)当列的gؓnullQ用nulls="false"属性把null转ؓI白



qiqijava 2005-11-21 17:11 发表评论
]]>
eXtremeComponent学习(fn)摘要http://www.aygfsteel.com/qiqijava/articles/20800.htmlqiqijavaqiqijavaMon, 21 Nov 2005 09:10:00 GMThttp://www.aygfsteel.com/qiqijava/articles/20800.htmlhttp://www.aygfsteel.com/qiqijava/comments/20800.htmlhttp://www.aygfsteel.com/qiqijava/articles/20800.html#Feedback0http://www.aygfsteel.com/qiqijava/comments/commentRss/20800.htmlhttp://www.aygfsteel.com/qiqijava/services/trackbacks/20800.html

                               eXtremeComponent学习(fn)摘要
1. TableTag必须指定collection属?gؓbean名,它会?page,request,session,application)中查找此bean,在tableq代昄列时Q要通过bean在List中查找。在Web中传递的bean必须实现Serializable接口.
?.
<ec:table collection="presidents">
  <ec:column property="firstName"/>最通用的显C方?调用getFirstName()
  <ec:column property="lastName"/>
    ${presidents.lastName}另一U方式,直接dlastName属?另一U用途如下显C?BR>    1)<a href="http://goto.president.detail">${pageScope.presidents.lastName}</a>
    2)<a href="http://goto.president.detail?firstName=${pageScope.presidents.firstName}">${pageScope.presidents.lastName}</a>
  </ec:column>
</ec:table>
?.
<ec:table
  collection="presidents"
  imagePath="${pageContext.request.contextPath}/images/*.gif"
  action="${pageContext.request.contextPath}/presidents.run"
  title="Presisent" 指定表格的标?BR>  filterable="false"qo
  sortable="false"排序
  saveFilterSort="true"用户操作完排序、过滤后下次再返回时看到相同的结果。要求:在url的参C指定useSessionFilterSort=true
  >
  ...
</ec:table>所有的属性默认ؓ全部打开?BR>2.默认一|C?5行,rowsDisplayed属性指定一|C的行数。如果设|gؓ0显C所有行。也可以通过讄showPagination=false来显C所有行。在TableTag中可以设|一些样?style)属?BR>?.
<ec:table
  collection="presidents"
  cellspacing="2" 表格有立体感
  cellpadding="0"
  border="0"
  width="80%"
  style=""指定内部样式
  styleClass=""分别指定css
  headerClass=""分别指定css
  />
 
3.ColumnTag
1)<ec:column property="born" cell="date" parse="yyyy-MM-dd" format="MM/dd/yyyy"/>
当borngؓStringӞ要把String-->DateQ需指定parse属性。format属性可对值格式化
当borngؓDateӞ无需指定parse属?BR><ec:column property="payroll" cell="currency" format="###,###,##0.00"/>
大部分的旉、日期、贷币均可被格式?BR>2)可指定filterableQsortable属性,它们覆盖TableTag中的属性,只对指定的列q行qo、排序?/P>

4.Cellq回的每一列都是一个Object,它能被format,modify.Cell做ؓ一个模板被~存以便重复使用?BR>使用程Q?)初始化Cell
          2)getHtml()
          3)销毁全局变量{待再次使用
<ec:column property="firstName" cell="com.mycompany.cell.MyCell"/>
要用自定义的CellQ只需要extend BaseCell或implements Cell接口卛_Q然后在columnTag中指定完全限定名?/P>

5.ParameterTag
默认会把所有的参数全部传递,如果当你需要locking down tableӞ可通过指定autoIncludeParameters=”false”取消自动传递参敎ͼ转而通过讄<ec:parameter name=”foo?value=?{param.foo}?>来传递参数?/P>

6.ExportTag
可导出Excel、pdf、csv{格式,分页无效,把所有行全部导出。排序、过滤后的所有行全部导?排序、过滤有?



qiqijava 2005-11-21 17:10 发表评论
]]>
վ֩ģ壺 | ϻ| | | ƫ| | | ʲ| »| ҽ| ɽ| Ƶ| | | Դ| | ʯ| | ʩ| | ˮ| °Ͷ| | Դ| ĺ| ɳ| ˼| ̩| | ī| | | ǧ| | ͨ| IJ| | ƽ| | ֶ| |