1. 程式人生 > >struts通用標籤及表單標籤

struts通用標籤及表單標籤

<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>通用標籤</title>
</head>
<body>

     <h3 style="color: red;">資料標籤</h3>
             <!-- 在ognl上下文的根物件中去result的值,賦給test1    存在非根物件的requesScope中 -->
             <!-- 如果用的是數字如12則直接輸出12 -->
          <h3>set</h3>
          <s:set var="test1" value="result"></s:set>
          ${test1 },
          ${requestScope.test1 }
          
          <h3>property</h3>
          <!-- 預設取的是棧頂   cal1(model) -->
          <s:property/>,
          <!-- 取的是根物件的最上面的物件的屬性 -->
          <s:property value="num1"/>,
          <!-- 取的是非根物件request的cal2物件的num1屬性值 -->
          <s:property value="#request.cal2.num1"/>
          
          <!-- push 就是將你需要的值放到棧頂,便於頁面獲取-->
          <h3>push</h3>
          <!-- 輸出cal1 -->
          <s:property/>
          <s:push value="result">
              <!-- 輸出result   result已經被彈到棧頂 -->
              <s:property/>
          </s:push>
          <!-- 輸出result   result又被壓到原來的位置 -->
          <s:property/>
          
          <!-- action通常用來請求後臺獲取初始化資料的 -->
          <h3>action</h3>
          <!-- 取的是/sy模組中的tagAction中的資料賦值給test2   test2是非根物件 -->
          <s:action name="tagAction" namespace="/sy" var="test2"/>
          <s:property value="#test2.cal2"/>
          
          <!-- url標籤的為了生成地址所用的,注意與a標籤區分 -->
          <h3>url</h3>
          <s:url var="test3" action="tagAction" namespace="/sy"/>
          <s:property value="#test3"/>
          <a href='<s:property value="#test3"/>'>asdf</a>
          <!-- s標籤中的a標籤href是放String型別的         要取到資料必須用%{}括起來才能取到ognl中的資料 -->
          <s:a href="%{#test3}">aaaa</s:a>
          
          <!-- 請求資料時帶引數 -->
          <h3>param</h3>
          <!-- 兩種賦值方式:ognl表示式 , 字串 -->
          <s:url  var="test4" action="tagAction" namespace="/sy">
              <s:param name="test5">555</s:param>
              <s:param name="test6" value="num1"></s:param>
          </s:url>
          <s:property value="test4"/>
          <h3>date</h3>
          <%
              request.setAttribute("currentDate", new Date());
              request.setAttribute("score", new Integer(70));
              request.setAttribute("names", new String[]{"gay","ls","蹲坑"});
          %>
          <!-- 展示資料    可以控制日期的顯示格式 -->
          <s:date name="#request.currentDate" format="yyyy-MM-dd"/>
          
          <h3>debug</h3>
          <!-- 可以檢視ognl的上下文內容 -->
          <s:debug/>
          
        <h3 style="color: red;">控制標籤</h3>
            <h3>iterator/if/elseif/else</h3>
            <ul>
            <!-- 迴圈value中的資料   定變數為v -->
          <s:iterator value="#request.names" var="v">
              <li>
                  <s:property value="#v"/>
              </li>
          </s:iterator>
            </ul>

        <!-- 判斷request中的score屬性是否大於80 -->
        <s:if test="#request.score > 80">A</s:if>
        <s:elseif test="#request.score > 60">B</s:elseif>
        <s:else>C</s:else>

 

 

<h3 style="color: red;">表單標籤</h3>
          <h3>form</h3>
          <h3>textfield</h3>
          <h3>radio</h3>
          <h3>select</h3>
          <h3>textarea</h3>
          <h3>hidden</h3>
          <h3>submit</h3>
          
          
          <s:form>
              <s:textfield label="姓名" name="uname"/>
              <%-- <s:radio list="{'男','女'}" label="性別" name="sex" value="'男'"/> --%>
              <s:radio list="#{1:'男',2:'女' }" label="性別" name="sex" value="2"/>
              <s:select headerKey="1" headerValue="請選擇" label="所屬部門" value="2" list="#{1:'財務部門',2:'公關部',3:'人事部' }" name="deptName"/>
              <!-- 單選複選框,往後臺傳值是傳佈爾型別的 -->
              <s:checkbox label="是否已婚" name="married"></s:checkbox>
              <s:checkboxlist label="愛好" value="{1,3}" name="hobby" list="#{1:'籃球',2:'gay',3:'蹲坑' }" ></s:checkboxlist>
              <s:textarea label="個人簡介" name="remark" value="asdf"/>
              <s:hidden name="asd" value="asdf"/>
          </s:form>
</body>
</html>