struts2.0学习笔记(一)--常用非UI标记

 1 <% @ page contentType="text/html; charset=UTF-8" %>
 2 <% @ taglib prefix="s" uri="/struts-tags" %>
 3
 4 <!--  
 5     Struts2非UI标签if、elseif和else 的使用:执行基本的条件流转。 
 6   -->
 7  
 8 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 9 < html >
10      < head >
11          < title > Condition Flow </ title >
12      </ head >
13      < body >
14          < h3 >
15             Condition Flow
16          </ h3 >
17
18          <!--  注意"'" + request.getParameter("name") + "'"这里的单引号  -->
19          <!--  s:if test="#name == 'Max'" 判断取出name的值是否与Max相等,#表示取出值  -->
20          < s:set  name ="name"
21             value ="#parameters.name[0]"   />
22
23          < s:if  test ="#name == 'Max'" >
24             Max's file here
25          </ s:if >
26          < s:elseif  test ="#name == 'Scott'" >
27             Scott's file here
28          </ s:elseif >
29          < s:else >
30             Other's file here
31          </ s:else >
32      </ body >
33 </ html >
34 <!--
35             这里有点小技巧:
36             本来可以用#parameters.name[0]来获得,请求中name的值。但是,在我实现include例子时,
37             无论我用param标志给name赋任何值,#parameters里面不会含有任何值,所以#parameters.name也为空值。
38             
39             其原因为:
40             当使用include标志时,被包含的页面(included)里#parameters拿到的是包含页面里的请求参数。
41             
42             因此,这里必须手工调用request.getParameter("name")。        
43 -->
44
 1 <% @ page contentType="text/html; charset=UTF-8" %>
 2 <% @ page import="java.util.List" %>
 3 <% @ page import="java.util.ArrayList" %>
 4 <% @ taglib prefix="s" uri="/struts-tags" %>
 5
 6 <!--  
 7     Struts2非UI标签iterator的使用:用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。 
 8     Struts2非UI标签property的使用:得到'value'的属性,如果value没提供,默认为堆栈顶端的元素。
 9   -->
10  
11 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
12 <%
13    List list = new ArrayList();
14    list.add("Max");
15    list.add("Scott");
16    list.add("Jeffry");
17    list.add("Joe");
18    list.add("Kelvin");
19    request.setAttribute("names", list);    //把参数names的值设为list对象的值.
20
%>
21 < html >
22      < head >
23          < title > Iterator </ title >
24      </ head >
25      < body >
26          < h3 >
27             Names:
28          </ h3 >
29          <!--  
30             1、此处的空property元素用于获得当前iterator的值 
31             2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。
32                 IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。
33                 这些信息在我们做格式化的时候,显得非常有用。
34                3.把EL表达式 #request.names 也就是集合list的值存到stuts里,再通过#stuts.odd判断是否是奇数,
35                 如果是奇数通过<s:property />取得stuts(集合list)的第一个值,否则再把背景颜色设置为red然后再输出结果.
36          -->
37          < ol >
38              < s:iterator  value ="#request.names"  status ="stuts" >
39                  < s:if  test ="#stuts.odd == true" >
40                      < li >
41                         White
42                          < s:property  />
43                      </ li >
44                  </ s:if >
45                  < s:else >
46                      < li  style ="background-color: red" >
47                          < s:property  />
48                      </ li >
49                  </ s:else >
50              </ s:iterator >
51          </ ol >
52      </ body >
53 </ html >

 1 <% @ page contentType="text/html; charset=UTF-8" %>
 2 <% @ taglib prefix="s" uri="/struts-tags" %>
 3
 4 <!--  
 5     Struts2非UI标签i18n的使用:加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。 
 6   -->
 7  
 8 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 9 < html >
10      < head >
11          < title > Internationization </ title >
12      </ head >
13      < body >
14          < h3 >
15          <!--  
16             1.s:i18n name="ApplicationMessages"装载属性页面
17             2.s:text name="HelloLab" 找到属性中对应的HelloLab然后在页面中显示HelloLab的值
18           -->
19              < s:i18n  name ="ApplicationMessages" >
20                  < s:text  name ="HelloLab"   />
21              </ s:i18n >
22          </ h3 >
23      </ body >
24 </ html >

 1 <% @ page contentType="text/html; charset=UTF-8" %>
 2 <% @ taglib prefix="s" uri="/struts-tags" %>
 3
 4 <!--  
 5     Struts2非UI标签include的使用:动态包含一个servlet的输出(servlet或jsp的页面)。  
 6   -->
 7  
 8 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 9 < html >
10      < head >
11          < title > Iterator </ title >
12      </ head >
13      < body >
14          < h3 >
15             Interator Page
16          </ h3 >
17          <!--  
18             在包含页面中传递参数,使用param标记,指定参数的名称及对应参数值,类似JSP页面中的include命令.
19             1.s:include value="/condition.jsp"包含一个绝对路径,其中包含参数<s:param name="name">Max</s:param>以显示有关MaxR的结果
20             2.s:include value="/i18n.jsp" 包含一个绝对路径,没有再包含参数.
21           -->
22          < s:include  value ="/condition.jsp" >
23              < s:param  name ="name" > Max </ s:param >
24          </ s:include >
25          < h3 >
26             i18n
27          </ h3 >
28          < s:include  value ="/i18n.jsp"   />
29          < h1 > 这里是之后显示的内容,纯属于本页面! </ h1 >
30      </ body >
31      <!--
32         value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子:
33
34         <param name="color">blue</param>(A)
35
36         <param name="color" value="blue"/> (B)
37         (A)参数值会以String的格式放入statck. 
38         (B)该值会以java.lang.Object的格式放入statck. 
39      -->
40 </ html >
41

 1 <% @ page contentType="text/html; charset=UTF-8" %>
 2 <% @ taglib prefix="s" uri="/struts-tags" %>
 3
 4 <!--  
 5     Struts2非UI标签url的使用:加载资源包到值堆栈。它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。 
 6   -->
 7  
 8 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 9 < html >
10      < head >
11          < title > URL </ title >
12      </ head >
13      < body >
14          < h3 >
15             URL
16          </ h3 >
17          <!--  
18             1.<a href='<s:url value="/i18n.jsp" />'>i18n</a>表示静态链接,
19                 <s:url value="/i18n.jsp" />定义指向url的地址,value值为相对地址路径.
20                 可以嵌套param标记,向指定的url传递参数,该标记的值不能单独使用,必须配合相关的页面标记使用
21                 <s:a href="%{url}">或<a href='<s:url value="/i18n.jsp" />'>i18n</a>
22                 (调用id为url(指向"/condition.jsp")的url页面.)
23                 
24             2.        <s:url id="url" value="/condition.jsp">
25                         <s:param name="name">Max</s:param>
26                     </s:url>
27                     相关于http://../condition.jsp?name=Max
28             
29           -->
30          < href ='<s:url  value ="/i18n.jsp"   /> '>i18n </ a >
31          < br  />
32          < s:url  id ="url"  value ="/condition.jsp" >
33              < s:param  name ="name" > Max </ s:param >
34          </ s:url >
35          < s:a  href ="%{url}" > if\elseif\else </ s:a >
36      </ body >
37 </ html >

你可能感兴趣的:(struts2.0学习笔记(一)--常用非UI标记)