码迷,mamicode.com
首页 > Web开发 > 详细

pe框架自定义jsp标签

时间:2018-02-23 13:20:25      阅读:340      评论:0      收藏:0      [点我收藏+]

标签:mst   ntp   efault   glib   tle   ext   表示   实例   tac   

以最常见的获取账号列表为例子:

  

  引入标签,prefix可以理解成别名,或者对象,使用时类似对象.成员。

<%@ taglib prefix="pe" uri="/WEB-INF/tlds/powerengine2.tld"%>

 

  这里可以理解成jsp中的k/v,通过tld中的k映射到java中属性值。也可以理解成声明,因为牵涉到jsp到java数据的流动,还是kv好些。

<tr align="left" valign="middle" id="localbank">
<td height="23" nowrap class="tdTitle">原绑定卡号/账号</td>
<td align="left" nowrap class="tdValue" colspan="4" onchange="selectAcNo(this.value)"><select
name="AcNoAlias" onChange="selectAcNo(this.value)">
<pe:optionEx listResolverId="AcACList" input="AcNo"
optionName="id,aliasName,bankAcType,name"
constantPrefix=",,BankAcType,"
optionValue="id,type,bankAcType,currency.id,currency.type,currency.id,name,currency.type"
valuePrefix=",,,Currency,CRFlag,," currentValue="${AcNo}" />
</select></td>


</tr>

 

  标签的理解百度即可,入门级这里写业务逻辑,一般这里当做xml解耦

<tag>
        <name>optionEx</name>
        <tag-class>com.csii.pe.channel.http.tag.OptionExTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>listResolverId</name>
        </attribute>
。。。。。。。。。。

 


  OptionExTag.class接口多态机制,接口的引用指向实例化对象,该出实例化是在mergedPool池中获取的。
listResolverId是注入的beanid,一般spring都是注入和getbeanid两步骤。
resolver对象是实例<bean name="AcACList" class="com.csii.ibs.accesscontrol.AcAccessControlListResolver" >
 List items = null;
        ListResolver resolver = mergedPool.getListResolver(this.listResolverId);
        if (resolver != null) {
            items = resolver.getList(context, inputData, extraData, this.defaultRuleDef);
        }

 

  resolver.getList();还是获取的user

  public List getList(Context paramContext, Object paramObject1, Object paramObject2, String paramString)
  {
    IbsUser localIbsUser = (IbsUser)paramContext.getUser();

 

  其实账户管理中的账号列表都是直接拿user数据了。例如

<pe:option items="${_USER.accounts}"
                            optionName="id,bankAcType,name"
                            constantPrefix=",BankAcType"
                               optionValue="id,type,bankAcType,currency.id,currency.type,currency.id"
                            valuePrefix=",,,Currency,CRFlag"
                            currentValue="${AcNo}"
                            condition= "1D".indexOf(type)!=-1 and subCifNo==null/>

 

  题外话谈下el表达式,el仅仅是一种简化形式,例如pagecontext.request...等等,mvc将数据分离后,只要数据流到了view层,el都能表示的,常见的context只是一种常用的获取方式,适配器把传递参数都封与此,user也常用,是首次登陆拿的puser和paccount表数据。

 

pe框架自定义jsp标签

标签:mst   ntp   efault   glib   tle   ext   表示   实例   tac   

原文地址:https://www.cnblogs.com/liwanxing/p/8461465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!