struts2的標籤介紹
首先這個struts標籤跟以前的c標籤寫法都差不多 不過有一些標籤會有一些改動
1.1 通用標籤
1.1.1 資料標籤
property
set
push
param
<param name="color">blue</param>
<param name="color" value="blue"/>
注1:它是子標籤 注2:url/action
date 轉時間
java.text.SimpleDateFormat/DecimalFormat
debug 檢視後臺request的一些請求
url/param/a(重要~用來生成url連結的)
action
action 再發一次請求 是為了調後臺模組程式碼,拿資料
1.1.2 控制標籤
iterator/if/elseif/else
具體介紹都在程式碼裡有測試
<h2>標籤</h2> <a href="${pageContext.request.contextPath}/sy/parAction.action?num1=12&num2=15&ss=hhh&cal2.num1=120">多點點</a> 那邊寫好簡單測試類 <h3 style="color: red;">資料標籤</h3> <h3>var裡面設定的值沒有放到值棧中所以都是非根物件 用#</h3> <h3>set</h3> <!-- 在ognl上下文的根物件中取value裡的值 賦給var 就相當於一個名字 value放的是ognl表示式的值 那邊action裡存了值可以拿到--> <s:set var="text1" value="ss"></s:set> ${text1} <h3>property</h3> <!-- 列印輸出值的 跟c:out標籤相似 --> <!-- 取棧頂 model--> <s:property/> <!-- 取根物件最上面的屬性 --> <s:property value="num1"/> <!-- 取根物件cal2裡的屬性 --> <s:property value="cal2.num1"/> <!-- 取非根物件cal2裡的屬性 --> <s:property value="#request.cal2.num1"/> <h3>push</h3> <!-- push就是把需要的值放到棧頂 便於頁面獲取 --> <s:property/> <s:push value="num1"> <s:property/> </s:push> <!-- 意思就是先輸出的是最上面num1的值 然後把text2那個值放到了上面 關閉後又是最上面的那個值 --> <s:property/> <h3>action</h3> <!-- 通常用來請求後臺 初始化資料 --> <!-- 通過某一個action裡拿到資料 --> <s:action name="parAction" namespace="/sy" var="text3"></s:action> <s:property value="#text3.cal"/>//拿到那個action裡一些屬性 <h3>url</h3> <!-- url是為了生成地址所用 --> <s:url namespace="/sy" action="parAction" var="text4"></s:url> <s:property value="text4"/><!-- 打印出這個url載入調的這個地址 --> <a href="<s:property value="text4"/>">aaa</a> <!-- a標籤直接放列印的這個 s的a標籤要用%{#text4} --> <s:a href="%{#text4}">bbb</s:a> <h3>param</h3> <!-- 向這個url路徑裡後面傳param值 比如res=aaa&text6=ss ss裡是ognl裡面的值 --> <s:url namespace="/sy" action="proAction" var="text5"> <s:param name="res">123</s:param> <s:param name="text6" value="ss"></s:param> </s:url> <s:property value="text5"/> <h3>date</h3> <% //獲取一些資料方便下面拿資料 request.setAttribute("datas", new Date()); request.setAttribute("data2", new Integer(28)); request.setAttribute("data3", new String[]{"1","2","3"}); %> <!-- 轉換時間格式 --> <s:date name="#request.datas"/> <h3>debug</h3> <!-- 用來檢視請求裡面的資料的 --> <s:debug></s:debug> <h3 style="color: red;">控制標籤</h3> <h3>iterator/if/elseif/else</h3> <!-- 相當於進行遍歷 拿到v的每一個 --> <ul> <s:iterator value="#request.data3" var="v"> <li><s:property value="#v"/></li> </s:iterator> </ul> <s:if test="#request.data2>60">A</s:if> <s:elseif test="#request.data2==60">B</s:elseif> <s:else>C</s:else>
2.表單標籤
表單標籤就相當於一些form標籤 form裡面的輸入框 複選框 文字框等等 好在一點就是這些標籤直接替代了那些input 可以直接用你想要的。
<h3 style="color: red;">表單標籤</h3>
<h3>form</h3> 用來裝那些文字框等等
<h3>textfield</h3>文字框
<h3>radio</h3>單選
<h3>select</h3>下拉框 好在一點這個標籤已經直接把所有屬性放在select裡 不需要寫option什麼的 直接調裡面的屬性
<h3>textarea</h3>文字域
<h3>hidden</h3>隱藏域 藏一些隱藏屬性過去
<h3>submit</h3>提交
<s:form action="" method="">
<s:textfield name="uname" label="姓名"></s:textfield>
<!-- 必須要給name 不然會找不到哪一個 -->
<%-- <s:radio list="{'男','女'}" label="性別" name="sex" value="'男'"></s:radio> --%>
<s:radio list="#{1:'男',2:'女'}" label="性別" name="sex" value="2"></s:radio>
<!-- 單選複選框 返回true或false -->
<s:checkbox name="aa" label="確定"></s:checkbox>
<s:checkboxlist list="#{1:'唱歌',2:'跳舞'}" name="hobby"></s:checkboxlist>
<s:select headerKey="1" headerValue="請選中" name="xiala" list="#{1:'aaa',2:'bbb',3:'ccc'}" label="學生列表"></s:select>
<s:hidden name="menuid" id="aa" value="menuid"></s:hidden>
<s:textarea name="text" label="文字域" ></s:textarea>
<s:submit action=""></s:submit>
</s:form>
基本上就這麼些常用的