∪∩deniable Design

个人JAVA版GAE(google app engine),struts2+jpa+jQuery开发,互相交流 http://iunbug.appspot.com/
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
 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>

评论

# re: struts2.0学习笔记(一)--常用非UI标记  回复  更多评论   

2008-10-14 11:29 by 惠万鹏
very nice

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问