pe框架自定義jsp標簽
阿新 • • 發佈:2018-02-23
apple object alias 賬戶 hang ada lec post 業務邏輯
OptionExTag.class接口多態機制,接口的引用指向實例化對象,該出實例化是在mergedPool池中獲取的。 listResolverId是註入的beanid,一般spring都是註入和getbeanid兩步驟。 resolver對象是實例<bean name="AcACList" class="com.csii.ibs.accesscontrol.AcAccessControlListResolver" >
以最常見的獲取賬號列表為例子:
引入標簽,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標簽