Web Application 開 發 利 器 - WebSnap(十三)[4]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 rh 的 blog

紅 色 的 部 份 在 使 用 時 要 特 別 小 心 , 因 為 page 中 不 一 定 要 有 defautlaction , 因 此 她 有 可 能  是 空 值 , 而 且 取 得 defaultaction 會 引 發 page module 的 自 動 建 立 動 作 , canview 及 loginrequired 是 用 來 管 理 使 用 者 及 權 限 控 制 用 。

 

13-9 producer

技 術 上 她 與 response 大 致 相 同 , 只 是 它 可 以 寫 入 html tag: 

<h3><%producer.write('我是 <#nametag>')%></h3>

 

接 著 你 就 可 以 在 producer 的 onhtmltag 事 件 中 取 代 這 個 tag , 如 果 寫 入 的 賧 料 不 是 html tag 的 話 , 使 用 response 會 較 有 效 率 。

 

13-10 adapter 

標 準 的 adapterwrapper , 指 的 是 tadapter 或 是 tdatasetadapter 等 , 她 提 供 了 fields,actions 兩 個 列 舉 器 , 我 們 可 以 經 由 她 們 列 出 adapterfields 及 adapteractions: 

<%

  adlist=new enumerator(application.fields)

  s = ''

  for (; !adlist.atend(); adlist.movenext())

   {

     s+='<h3>'+adlist.item().name+'</h3>'

   }

  response.write(s)

%>

<%

  adlist=new enumerator(application.actions)

  s = ''

  for (; !adlist.atend(); adlist.movenext())

   {

     s+='<h3>'+adlist.item().name+'</h3>'

   }

  response.write(s)

%>

當 一 個 緒 頁 執 行 了 action 後 發 生 錯 誤 導 向 錯 誤 緒 頁 時 , 我 們 可 以 利 用 她 的 errors 來 取 出   錯 誤 訊 息 : 

<%

   var e = new enumerator(modules.countrytable.adapter.errors)

   for (; !e.atend(); e.movenext())

   {

     response.write("<li>" + e.item().message)

   }

    e.movefirst()

%>

當 使 用 的 adapter 有 多 筽 賧 料 時 , 例 如 tdatasetadapter 跟 之 前 我 們 所 撰 寫 的 myadapter , 我 們 可 以 利 用 records  列 舉 器 來 移 動 記 錄 位 置 : 

<%var e = new enumerator(vdsadaptcust.records)

   for (; !e.atend(); e.movenext())

   { %>

      <tr>

<% if (vdsadaptcust_filter.visible)

   { %>

      <td><div><% obj=checkboxgroup(vdsadaptcust_filter, vdsadaptcust_filter.inputname,

1, '')%><%=obj.text%></div></td><% } %> 

本文关键:WebSnap
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top