Tapestry框架使用方法技巧总结

一、弹出窗口页面:

<div class="hero-table" data-nav-group="#hero-nav-tab" data-search="#hero-search" data-result="#hero-result"

data-openerfield="${openerField}" data-needupdate="true">

  • data-openerfield -- 父页面需要赋值的文本域的id 必选 -- 可以写死,可以传值

接收方法:

@Property

@ActivationRequestParameter("openerField")

private String openerField;

 

  • data-needupdate="true" -- 需要更新父页面的zone 可选 默认false
  • data-radio="true" -- 是否单选 可选 默认false多选
  • data-separator -- 返回值分隔符,可选 默认分号“;”,但不能用逗号“,
  • data-adds -- 除了id外添加另外一个字段名称传输给父页面

-- 其它data参数请不要修改

 

添加数据方法:

data-adds=version 

然后在loop内每一行加 hidden value=”” id=version />

最终数据格式为 id,version;id,version;id,version...

: 11,12;23,33;


 

 

二、父页面:

 

  1. 文本域:

 t:mixins="zoneUpdater" t:clientEvent="change" t:event="materialIdsChange" t:zone="materialArea" />

 

  • t:event="materialIdsChange" -- 当选择后文本框值改变时触发的事件名称
  • 对应事件示例: Object onMaterialIdsChange(@RequestParameter(value = "param", allowBlank = true) String materialIds){}

 

  • t:zone="materialArea" -- 需要更新的zone

 

  • t:clientEvent="change" -- 对于弹出框用zoneUpdater更新,必须为"change"

 

  1. 需要更新的zone:

 

...

 

有时不加

会报错,请注意

 

  1. 弹出窗口按钮

<a t:type="pageLink" t:page="select/stocks" class="btn btn-info btn-xs" data-popup="true" t:parameters="popParams">

pagelink组件上加data-popup="true" 就可以弹出对应的页面

t:parameters="popParams" 可以动态设置弹出框的参数

public Map getPopParams() {

        Map queryParams = new HashMap();

        queryParams.put("openerField", "selectedMaterialIds");

        return queryParams;

    }

 

------------------------------------------------分割线--------------------------------------------

 

三、grid表格嵌套方法

<t:grid source="walletList" row="curWallet" add="issuerName,walletStatus,operation,nested" exclude="loginAccountId,issuerId,protetType,status,walletId,amntType,updateAmnt" reorder="walletAccountNo,walletName,amount,currency,expriryTime,issuerName,walletStatus,remark,creationTime,operation"

 t:mixins="colspans" Colspans.colspan="nested">

 

1. 需要添加一个自定义列到 gridadd属性里, 然后添加插件colspans 和 列名如:t:mixins="colspans" Colspans.colspan="nested"

 

2. 在单元格内的内容就是嵌套的内容

<p:nestedCell>...p:nestedCell>

注意:nestedCell里如果包含标签或文本则显示,反之不显示

 

3. 所以,加if组件判断是否显示,例:

<p:nestedCell>

<t:if test="xxx">

...

t:if>

<t:if test="yyy">

...

t:if>

...<可包含多个>

p:nestedCell>

因此,请保证组件之外不出现任何内容,否则该列将会一直被显示

你可能感兴趣的:(Tapestry框架使用方法技巧总结)