国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
藍(lán)色天空(原創(chuàng)作品)
應(yīng)用Struts的網(wǎng)站建設(shè)(6)
經(jīng)過對tiles的研究,大概了解它能夠完成什么了,所以,在這個任務(wù)里我們將實現(xiàn)tiles的功能以滿足我們的使用。 由于上一個任務(wù)所花費的時間,在這個任務(wù)里可以節(jié)約一部分時間,所以估計仍然為6小時。
Engineering Task Card
Date: 2003-4-11___
Story #:_實現(xiàn)Tiles的多數(shù)功能___      Software Eng: _紫龍____ Task Estimate: __6小時___
Task Description:
1、實現(xiàn)動態(tài)模板功能
2、實現(xiàn)模板的國際化功能
3、用戶可以在運行時選擇模板
4、記錄全過程
Software Engineer’s Notes
Task Tracking:
Date Done to do use time Comments
2003-04-11
2003-04-12 1,2,3,4   6:52
要實現(xiàn)動態(tài)模板,則需要一些程序了。我們把example的程序放入我們的project里面,然后進(jìn)行相應(yīng)的設(shè)置。把包命名為org.apache.struts.tiles.skin,同時修改程序的一部分以適應(yīng)我們的需要。然后修改tiles-defs.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="tiles.root" path="/controller/layoutSwitch.do">
<put name="userSettingsName" value="tiles.skin.user.settings" />
<put name="catalogSettings" value="available.skins" />
<put name="layout.attribute" value="page.layout" />
<put name="title" value="title need to be updated(from root)" />
<put name="header" value="/pages/head.jsp"/>
<put name="footer" value="/pages/foot.jsp"/>
<put name="menu" value="tiles.menu.bar" />
</definition>
<!-- Menu bar definition -->
<!-- Some definition come from other definition files (ex : doc.menu.*) -->
<definition name="menu.root" path="/layouts/menu.jsp" >
</definition>
<definition name="tiles.menu.bar" path="/layouts/vboxLayout.jsp" >
<putList name="list" >
<add value="menu.links" />
<add value="menu.settings" />
<!--<add value="menu.userMenu" />
<add value="menu.admin" />-->
</putList>
</definition>
<!-- main menu definition -->
<definition name="menu.links" extends="menu.root" >
<put name="title" value="Links" />
<putList name="items" >
<item value="Home" link="/index.jsp" />
</putList>
</definition>
<!-- Preferences menu definition -->
<definition name="menu.settings" extends="menu.root" >
<put name="title" value="Preferences" />
<putList name="items" >
<item value="my Layout Settings" link="/control/SkinSettings.do" />
</putList>
</definition>
<!-- Skin main page -->
<definition name="skin.settings.page" extends="tiles.root">
<put name="title" value="Skin Setting" />
<put name="body" value="skin.settings.body"/>
</definition>
<!-- Skin body declaration-->
<definition name="skin.settings.body" path="/skinsetting/skinSettings.jsp"
controllerUrl="/controller/SkinSettings.do" >
<put name="userSettingsName" value="tiles.skin.user.settings" />
<put name="catalogSettings" value="available.skins" />
</definition>
<!-- Available skins -->
<definition name="available.skins" >
<putList name="skin.list" >
<add value="default.skin" />
<add value="menuright.skin" />
</putList>
</definition>
<!-- Default skin values -->
<definition name="default.skin" >
<put name="skin.label" value="Default" />
<put name="page.layout" value="/layouts/classicLayout.jsp" />
<put name="menu.layout" value="/layouts/menu.jsp" />
<put name="menuBar.layout" value="/layouts/vboxLayout.jsp" />
</definition>
<!-- Default skin values -->
<definition name="menuright.skin" extends="default.skin" >
<put name="skin.label" value="Right Menu" />
<put name="page.layout" value="/layouts/skin1/menuLeftLayout.jsp" />
<put name="menu.layout" value="/layouts/menu.jsp" />
</definition>
</tiles-definitions>
建立一系列的菜單和模板頁面。修改struts-config.xml,加入以下內(nèi)容
<!-- ======================================================= -->
<!-- ACL Controls -->
<!-- ======================================================= -->
<action path = "/login"
type = "com.ewuxi.champion.struts.actions.LoginAction"
name = "loginForm"
scope = "request"
validate = "true"
input = "/index.jsp">
<forward name="success" path="/aclController.do?fwd=users" />
<forward name="failure" path="index.jsp" />
</action>
<!-- ======================================================= -->
<!-- Tiles 1.1 Skin Settings -->
<!-- ======================================================= -->
<action path="/controller/layoutSwitch" type="org.apache.struts.tiles.skin.LayoutSwitchAction" />
<action path="/control/SkinSettings"
type="org.apache.struts.tiles.actions.NoOpAction"
name="SkinSettingsForm" >
<forward name="success" path="skin.settings.page"/>
</action>
<action path="/controller/SkinSettings" type="org.apache.struts.tiles.skin.LayoutSettingsAction" name="SkinSettingsForm" />
</action-mappings>
然后建立layout目錄,并放入相應(yīng)的文件,建立pages目錄,建立相應(yīng)的文件。通過以上的設(shè)置,我們實現(xiàn)了動態(tài)更換模板并建立了第一個登錄頁面。
其結(jié)果如下:默認(rèn)的登錄頁面
默認(rèn)的皮膚頁面設(shè)置
第二種狀態(tài),即菜單在右邊的狀態(tài)
菜單在右的主頁面
總結(jié):通過對Tiles應(yīng)用的深入研究,我們實現(xiàn)在動態(tài)更改皮膚的功能,并且也實現(xiàn)了皮膚的國際化功能(其實現(xiàn)原理與前述的國際化原理一樣)。這樣我們達(dá)到了本任務(wù)的要求。統(tǒng)計一下時間是6小時52分。超過統(tǒng)計約一個小時,其中的主要原因是原來example中有一個bug,即更改的皮膚必須要按刷新按鈕才能實現(xiàn),大約花了一個多小時來查出這個bug,并修正了這個bug。通過上面的配置內(nèi)容可見,模板的可繼承以及嵌套的功能給我們的設(shè)計帶來了極大的方便。同時menu的設(shè)計也帶來很多益處。當(dāng)然,我們還沒有實現(xiàn)跟據(jù)用戶的設(shè)置來實現(xiàn)每次進(jìn)入的時候風(fēng)格相同。這將在下一個任務(wù)中實現(xiàn)。這個任務(wù)的源代碼如下下載
紫龍,于10/11/2003 20:23:43
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
struts2.0中配置tiles
Struts使用Tiles輔助開發(fā)
struts中tiles框架的組合與繼承 - yjhmily - BlogJava
struts2整合tiles及配置
Tiles框架特性和內(nèi)容
tiles框架理解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服