Struts2標籤實例及常見錯誤

 

根據Struts2所寫的標籤,所寫例子

 

1、list集合中的value值不需要加#

2、標籤屬性不全,name屬性不許有否則就會報出黃匡錯誤

3、這個錯誤是在第190行,在value的值內沒有加單引號value=”’push標籤’”

<body>

<div align="center">
<h3>
eongl標籤使用
</h3>
傳過來的值:
<br />
request:
<s:property value="#request.username" />
<br />
session:
<s:property value="#session.username" />
<br />
application:
<s:property value="#application.username" />
<br />
 
傳過來的對象值:
<br />
request:
<s:property value="#request.user['name']" />
<br />
session:
<s:property value="#session.user['name']" />
<br />
application:
<s:property value="#application.user['name']" />
<br />
</div>
<div>
<h3>
OGNL提供的對集合的操作符
</h3>
<br />
Map集合:
<br />
 
<s:iterator value="#{1:'東方不敗',2:'獨孤求敗',3:'天哉地哉'}" var="entity">
<s:property value="#entity.key" />
<s:property value="#entity.value" />
</s:iterator>
 
<br />
and
<br />
<s:iterator value="#{1:'東方不敗',2:'獨孤求敗',3:'天哉地哉'}">
<s:property value="key" />
<s:property value="value" />
</s:iterator>
<br />
 
<h5>
Map集合的拼接
</h5>
 
<s:append var="newMap">
<s:param
value="#{'HTML入門':'redarmy','Java基礎':'baobao','CSS入門':'李慧','JavaWeb實戰':'yq'}"></s:param>
<s:param value="#{'HIbernate教程':'李剛','Struts2教程':'redarmy'}"></s:param>
</s:append>
 
<table border="1px" cellpadding="1px" cellspacing="1px">
<caption>
圖書信息2
</caption>
<tr>
<th>
圖書名稱
</th>
<th>
圖書作者
</th>
</tr>
 
<s:iterator value="#newMap">
 
<tr>
<td>
<s:property value="key" />
</td>
<td>
<s:property value="value" />
</td>
 
</tr>
</s:iterator>
 
</table>
 
</div>
 
<div align="right">
<h3>
構造List集合:
</h3>
<s:iterator value="{'java','3G','php','.net'}" var="hbsi">
<s:property value="hbsi" />
</s:iterator>
 
<br />
and
<br />
<s:iterator value="{'java','3G','php','.net'}">
 
<s:property />
 
</s:iterator>
</div>
 
<div align="center">
<h3>
單選按鈕需要加上name屬性,否則只能出現默認值,不能修改
</h3>
<s:radio list="#{'w':'女','m':'男'}" listKey="key" listValue="value"
name="sex" value="'w'">
</s:radio>
<s:radio list="{'男','女'}" value="'女'" name="sex2" />
 
<h3>
多選按鈕list
</h3>
<s:checkboxlist name="many" list="{'吃','喝','玩','樂'}"
value="{'吃','玩'}">
</s:checkboxlist>
<h3>
多選按鈕map
</h3>
<s:checkboxlist name="toomany" list="#{1:'吃',2:'喝',3:'玩',4:'樂'}"
value="{1,2}" />
<h3>
多選按鈕
</h3>
<s:checkbox label="吃" name="eat" />
<s:checkbox label="喝" name="drink" />
<s:checkbox label="玩" name="play" />
<s:checkbox label="樂" name="happy" />
 
<h3>
下拉列表 map
</h3>
<s:select list="#{'01':'java','02':'3G','03':'php','04':'.net'}"
label="Projects" name="projects" headerKey="-1" headerValue="請選擇專業" 
value="selectProject" required="true"/>
            <h3>
下拉列表 list
</h3>
<s:select list="{'java','php','3G','.net'}" name="select" headerKey="-1" 
headerValue="請選擇專業" required="true" label="Projects"/>
<h3>if標籤</h3><!--這個是一個相反的判斷,判斷這個java不在這個裏面,爲真,則輸出java在集合中,否則相反
-->
<s:if test="'Java' not in {'Java','Net'}">
 java在集合中
</s:if>
<s:else>
java不在集合中
</s:else>
<h3>Set標籤</h3>
<!-- set標籤裏如果我加上scope標籤就會顯示不出所要顯示的內容,就是property的值 -->
<s:set var="msg" value="'www<hr/>wwwwwwwwww'"></s:set>
<s:property value="msg" escape="false"/>
<h3>push標籤</h3>
<!--push代表在堆棧的頂部設置值,需要在push裏面使用property方法獲取值,否則獲取的是堆棧的頂部對象  -->
<s:push value="'push標籤'">
     <s:property/><!-- 默認獲取堆棧頂部的值 -->
   </s:push>
<h3>Bean標籤</h3>
<!-- name表示所需要的實體類,必須是全名,var代表用來引用值推入值棧 -->
<s:bean name="www.hbsi.struts_tags.domain.User" var="myUser">
<s:param name="id" value="'1'"></s:param>
<s:param name="name" value="'liuxg'"></s:param>
<s:param name="pass" value="'123'"></s:param>
<s:param name="sex" value="'nv'" />
<s:param name="email" value="[email protected]"></s:param>
<!-- 這個示例bean實例化一個名爲User類  id、name、pass、sex、email並設置屬性(set方法()給他賦值)。
這個User對象然後推到過程中保存到Valuestack中,
這意味着我們可以叫它的訪問器方法(get方法())和屬性標記並獲得他們的values。 -->
輸出:
<s:property value="name" />
</s:bean><br />
<s:property /><!--輸出默認的 com.opensymphony.xwork2.DefaultTextProvider@cdf0a6  --><br />
<s:property value="#myUser.name" /><br />
<s:set var="user" value="#myUser"></s:set>
<s:property value="#user.name"/>
<h3>iterator標籤</h3>
<table border="1px">
<s:iterator value="{'java','3G','php','net'}" var="name" status="st">
<tr class="<s:property value='#st.even?"even":"odd"'/>">
<td>
<s:property value="name"/>
</td>
</tr>
</s:iterator>
</table>
</div>
           
       
        
 
</body>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章