struts part5


<li>property:<s:property value="username"/></li>
<li>property取值爲字符串:<s:property value="'username'"/></li>
<li>property設定默認值:<s:property value="admin" default="管理員"/></li>
若值棧中無admin則用"管理員"爲默認值
<li>property 設置html:<s:property value="'<hr/>'" escape="false"/></li>

set標籤,默認scope爲action即request和actioncontext,如沒有其他scope,則到相應scope中去取值

即可,且name和id都已deprecated,使用var value 和 scope即可。

<li> set 設定adminname值(默認爲request和actioncontext):
 <s:set var="adminName" value="username"/></li>
<li>set 從request取值:<s:property value="#request.adminName"/></li>
<li>set 從actioncontext取值:<s:property value="#adminName"/></li>
s debug內容中無值原因是debug內容還沒有將request中值包含進去就顯示出來了。
<li>set 設定範圍:<s:set name="adminPassword" value="password" scope="page"/></li>
<li>set 從相應範圍取值:<%=pageContext.getAttribute("adminPassword")%></li>此爲jsp取值方式

<li>set 設定scope:<s:set var="adminPassword" value="password" scope="session"/></li>
<li>set 從相應範圍取值:<s:property value="#session.adminPassword"/></li>


<li>bean 查看debug情況:
 <s:bean name="com.xlt.struts2.tags.Dog" var="myDog">
 <s:param name="name" value="'oudy'"></s:param>若爲value="oudy"表示爲ognl表達式則

oudy爲對象
 </s:bean></li>

<s:bean name="com.xlt.struts2.tags.Dog">
 <s:param name="name" value="'pp'"></s:param>
 <s:property value="name"/></s:bean>
沒有使用var則在<s:bean/>範圍外就沒有該對象了所以訪問不到,若使用了var 會將其放入

actioncontext中即使脫離<s:bean/>範圍<s:property value="#myDog.name"/>同樣可以訪問到。

window-preference-file association   *.html可以修改默認打開html的工具。

<li>include _include1.html 包含靜態英文文件,說明%用法
 <s:set var="includePage" value="'/_include1.html'"/>
 <s:include value="%{#includePage}"></s:include></li>
%{}表示將{}中表達式視爲ognl表達式。include不常用。

$用於i18n和struts配置文件
#取得actioncontext中的值
%將原本的文本屬性解析爲ognl,對於本來就是ognl的屬性不起作用
<s:property value 爲ognl     <s:include value裏不強轉爲普通字符串

window-preferences-content assist  裏auto activation delay可以設置提示時間

<li>if elseif else:
『』  age=<s:property value="#parameters.age[0]"/><br/>
 <s:if test="#parameters.age[0]<0">wrong age!</s:if>
 <s:elseif test="#parameters.age[0]<20">too young</s:elseif>
 <s:else>yeah!</s:else><br/>

上段中『』後可以用set標籤:
<s:set var="age" value="#parameters.age[0]"/>後面代碼中test="#age"替換即可。

<li>遍歷集合{1,2,3}:<br/>
 <s:iterator value="{1,2,3}">
 <s:property/></s:iterator></li>

<li>自定義變量<br/>
 <s:iterator value="{'aaa','bbb','ccc'}" var="x">
 <s:property value="#x.toUpperCase()">
 </s:iterator></li>

<li>使用status:<br/>
 <s:iterator value="{'aaa','bbb','ccc'}" status="status">
 <s:property/>
 遍歷過的元素總數:{s:property value="#status.count"/}|
 遍歷過的元素索引:{s:property value ="#status.index"/}|
 當前是偶數?:<s:property value="#status.even"/>|
 當前是奇數?:<s:property value="#status.odd"/>|
 是第一個元素嗎?:<s:property value="#status.first"/>|
 是最後一個元素嗎?:<s:property value="#status.last"><br/></s:iterator>

<li>定義map:<br/>
 <s:iterator value="#{1:'a',2:'b',3:'c'}">
 <s:property value="key"/>|<s:property value="value"/><br/>
 </s:iterator></li>

iterator 可以遍歷collections(list,set ,stack,queue),map,enumeration,iterator,array

UI標籤 theme主題:simple,xhtml(默認的主題),css_xhtml,ajax

可以通過在struts.xml中添加自定義的主題:
<constant name="struts.ui.theme" value="mytheme"/>來配置ui主題,mytheme爲src包下

template.mytheme


建議的方式:把所有主題定義爲simple,fielderror特殊處理,自己控制其他標籤的展現。

發佈了73 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章