面向?qū)ο蟮腤eb 服務(wù)器Zope (2)_Windows教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
三、內(nèi)容管理
Zope 的心臟就是 DTML (文檔模板標(biāo)記語言),這個(gè)功能強(qiáng)大的變量插入和表達(dá)語言,提供對(duì) Zope 對(duì)象的安全腳本和動(dòng)態(tài)內(nèi)容產(chǎn)生。 DTML 采用了服務(wù)器端包含腳本的語法,對(duì)很多 Web 開發(fā)人員來說很容易上手,而且和Zope 的安全模型高度集成。對(duì)安全的集成,可以讓用戶使用自己的 DTML 而不會(huì)對(duì)整個(gè)網(wǎng)站的安全構(gòu)成威脅。
DTML 基本的變量插入和條件測試語句是十分直觀的。DTML 代碼采用 Zope 系統(tǒng)中對(duì)象的屬性和方法,也可使用 Web 請(qǐng)求和表單中的變量。下面是一個(gè)文檔標(biāo)題屬性顯示的例子,當(dāng)不同的用戶登錄時(shí),顯示不同的信息:
--------------------------------------------------------------------------------
本文檔的標(biāo)題為:<!--#var document_title--> 。
<P>
<!--#if "AUTHENTICATED_USER=='小地主'"-->
嘿!你好,小地主!
<!--#else-->
嘿!你好,陌生人!
<!--#/if-->
--------------------------------------------------------------------------------
當(dāng)然 DTML 文檔能包含其他 DTML 文檔。一個(gè)常用的設(shè)計(jì)就是頁面頭和腳的包含:
--------------------------------------------------------------------------------
<!--#var standard_html_header-->
<H2>歡迎來到 www.FreeLAMP.com!</H2>
<!--#var standard_html_footer-->
--------------------------------------------------------------------------------
DTML 采用 #in 標(biāo)記提供強(qiáng)大的遞歸插入。這個(gè)標(biāo)記也可以用來自動(dòng)管理批處理。下面的例子調(diào)用 SQL 查詢對(duì)象,遞歸調(diào)用結(jié)果集數(shù)據(jù)建立表格:
--------------------------------------------------------------------------------
<TABLE>
<!--#in getEmployees-->
<TBODY><TR>
<TD><!--#var first_name--></TD>
<TD><!--#var last_name--></TD>
<TD><!--#var job_title--></TD>
<TD><!--#var hire_date--></TD>
</TR>
<!--#/in-->
</TBODY></TABLE>
--------------------------------------------------------------------------------
采用這些標(biāo)記和其他更加高級(jí)的 DTML 結(jié)構(gòu),Web 開發(fā)人員能調(diào)用 SQL 查詢語句,建立新的對(duì)象,操作對(duì)象屬性,建立高度動(dòng)態(tài)的網(wǎng)站內(nèi)容。下面的例子采用了 DTML的 sendmail 標(biāo)記來發(fā)送 Email。
--------------------------------------------------------------------------------
<!--#var standard_html_header-->
<!--#sendmail smtphost="mail.freelamp.com">
To: Feedback Department <feedback@freelamp.com>
From: Feedback Form <ff@freelamp.com>
Subject: 用戶意見反饋
<!--#var name-->提出意見:
<!--#var comments-->
<!--#/sendmail-->
<H2>謝謝!</H2>
<P>
感謝您的建議!
<!--#var standard_html_footer-->
--------------------------------------------------------------------------------
“安全腳本”的重要概念就是不像其他模板系統(tǒng), DTML 不允許你建立任意的腳本對(duì)而構(gòu)成對(duì)系統(tǒng)安全的威脅。相反,Zope 提供了一種不同的對(duì)象叫作外置方法,封裝更加復(fù)雜的腳本和包含隨意的代碼。 DTML 的作者能調(diào)用外置方法,但是只能在自己的安全設(shè)定范圍內(nèi)運(yùn)行。
大多數(shù)情況下, DTML 本身就能完成大多數(shù)一般性的任務(wù),Zope 提供高級(jí)標(biāo)記的目的就是為了減少編寫復(fù)雜腳本的需要。“tree” 標(biāo)記就是這樣的例子,這個(gè)標(biāo)記能提供和Zope 管理界面左邊的幀一樣的界面。
Zope 的心臟就是 DTML (文檔模板標(biāo)記語言),這個(gè)功能強(qiáng)大的變量插入和表達(dá)語言,提供對(duì) Zope 對(duì)象的安全腳本和動(dòng)態(tài)內(nèi)容產(chǎn)生。 DTML 采用了服務(wù)器端包含腳本的語法,對(duì)很多 Web 開發(fā)人員來說很容易上手,而且和Zope 的安全模型高度集成。對(duì)安全的集成,可以讓用戶使用自己的 DTML 而不會(huì)對(duì)整個(gè)網(wǎng)站的安全構(gòu)成威脅。
DTML 基本的變量插入和條件測試語句是十分直觀的。DTML 代碼采用 Zope 系統(tǒng)中對(duì)象的屬性和方法,也可使用 Web 請(qǐng)求和表單中的變量。下面是一個(gè)文檔標(biāo)題屬性顯示的例子,當(dāng)不同的用戶登錄時(shí),顯示不同的信息:
--------------------------------------------------------------------------------
本文檔的標(biāo)題為:<!--#var document_title--> 。
<P>
<!--#if "AUTHENTICATED_USER=='小地主'"-->
嘿!你好,小地主!
<!--#else-->
嘿!你好,陌生人!
<!--#/if-->
--------------------------------------------------------------------------------
當(dāng)然 DTML 文檔能包含其他 DTML 文檔。一個(gè)常用的設(shè)計(jì)就是頁面頭和腳的包含:
--------------------------------------------------------------------------------
<!--#var standard_html_header-->
<H2>歡迎來到 www.FreeLAMP.com!</H2>
<!--#var standard_html_footer-->
--------------------------------------------------------------------------------
DTML 采用 #in 標(biāo)記提供強(qiáng)大的遞歸插入。這個(gè)標(biāo)記也可以用來自動(dòng)管理批處理。下面的例子調(diào)用 SQL 查詢對(duì)象,遞歸調(diào)用結(jié)果集數(shù)據(jù)建立表格:
--------------------------------------------------------------------------------
<TABLE>
<!--#in getEmployees-->
<TBODY><TR>
<TD><!--#var first_name--></TD>
<TD><!--#var last_name--></TD>
<TD><!--#var job_title--></TD>
<TD><!--#var hire_date--></TD>
</TR>
<!--#/in-->
</TBODY></TABLE>
--------------------------------------------------------------------------------
采用這些標(biāo)記和其他更加高級(jí)的 DTML 結(jié)構(gòu),Web 開發(fā)人員能調(diào)用 SQL 查詢語句,建立新的對(duì)象,操作對(duì)象屬性,建立高度動(dòng)態(tài)的網(wǎng)站內(nèi)容。下面的例子采用了 DTML的 sendmail 標(biāo)記來發(fā)送 Email。
--------------------------------------------------------------------------------
<!--#var standard_html_header-->
<!--#sendmail smtphost="mail.freelamp.com">
To: Feedback Department <feedback@freelamp.com>
From: Feedback Form <ff@freelamp.com>
Subject: 用戶意見反饋
<!--#var name-->提出意見:
<!--#var comments-->
<!--#/sendmail-->
<H2>謝謝!</H2>
<P>
感謝您的建議!
<!--#var standard_html_footer-->
--------------------------------------------------------------------------------
“安全腳本”的重要概念就是不像其他模板系統(tǒng), DTML 不允許你建立任意的腳本對(duì)而構(gòu)成對(duì)系統(tǒng)安全的威脅。相反,Zope 提供了一種不同的對(duì)象叫作外置方法,封裝更加復(fù)雜的腳本和包含隨意的代碼。 DTML 的作者能調(diào)用外置方法,但是只能在自己的安全設(shè)定范圍內(nèi)運(yùn)行。
大多數(shù)情況下, DTML 本身就能完成大多數(shù)一般性的任務(wù),Zope 提供高級(jí)標(biāo)記的目的就是為了減少編寫復(fù)雜腳本的需要。“tree” 標(biāo)記就是這樣的例子,這個(gè)標(biāo)記能提供和Zope 管理界面左邊的幀一樣的界面。
相關(guān)Windows教程:
Windows教程Rss訂閱服務(wù)器教程搜索
Windows教程推薦
猜你也喜歡看這些
- IIS中WEB服務(wù)器的日志存放到SQL Server 2005中
- 如何架設(shè)基于windows XP的Web服務(wù)器
- HTTP 狀態(tài)代碼解釋(完整)
- 如何通過Apache 的mod_rewrite實(shí)現(xiàn)偽靜態(tài)
- Windows 2003的Web服務(wù)器配置方法
- UNIX平臺(tái)下Apache服務(wù)的安全保護(hù)
- IIS FAQ
- Windows2003校園Web服務(wù)器常見問題
- 識(shí)別常見Web應(yīng)用安全漏洞 有效防止入侵
- 如何在一臺(tái)服務(wù)器上實(shí)現(xiàn)多個(gè)Web站點(diǎn)
- 相關(guān)鏈接:
- 教程說明:
Windows教程-面向?qū)ο蟮腤eb 服務(wù)器Zope (2)。