zoukankan      html  css  js  c++  java
  • Struts2 标签

    引入方式为:<%@taglib prefix="s" uri="/struts-tags"%>

    Struts2 控制标签

    if和else标签

    这些标签执行在每种语言中找到的基本条件流。“If”标签可以单独使用,也可以与“Else If”标签,和单个或是多个“Else”标签一起使用,如下所示:

    <s:if test="%{false}">
        <div>Will Not Be Executed</div>
    </s:if>
    <s:elseif test="%{true}">
        <div>Will Be Executed</div>
    </s:elseif>
    <s:else>
        <div>Will Not Be Executed</div>
    </s:else>

    iterator标签

    这些iterator将迭代一个值。可迭代值可以是以下任一值:java.util.Collection,java.util.Iterator。在迭代一个iterator时,可以使用Sort标签对结果进行排序,或者使用SubSet标签来获取列表或数组的子集。
    以下示例是检索值栈上当前对象的getDays()方法的值,并使用它迭代。<s:property/>标签印出迭代器的当前值。

    <s:iterator value="days">
      <p>day is: <s:property/></p>
    </s:iterator>

    merge标签

    这些merge标签采用两个或多个列表作为参数,并将它们合并在一起,如下所示:

    <s:merge var="myMergedIterator">
         <s:param value="%{myList1}" />
         <s:param value="%{myList2}" />
         <s:param value="%{myList3}" />
    </s:merge>
    <s:iterator value="%{#myMergedIterator}">
         <s:property />
    </s:iterator>

    append标签

    这些append标签采用两个或多个列表作为参数,并将它们全部附加在一起,如下所示:

    <s:append var="myAppendIterator">
         <s:param value="%{myList1}" />
         <s:param value="%{myList2}" />
         <s:param value="%{myList3}" />
    </s:append>
    <s:iterator value="%{#myAppendIterator}">
         <s:property />
    </s:iterator>

    generator标签

    这些generator标签基于提供的val属性生成迭代器。下面的generator标签生成一个迭代器并使用iterator标签打印出来。

    <s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
     <s:iterator>
         <s:property /><br/>
     </s:iterator>
    </s:generator>

    Struts2 数据标签

    action标签

    此标签允许开发人员通过指定action名称和可选的命名空间直接从JSP页面调用action。标签的正文内容用于呈现action的结果。在struts.xml中为此action定义的任何结果处理程序将会被忽略,除非指定executeResult参数。

    <div>Tag to execute the action</div>
    <br />
    <s:action name="actionTagAction" executeResult="true" />
    <br />
    <div>To invokes special method  in action class</div>
    <br />
    <s:action name="actionTagAction!specialMethod" executeResult="true" />

    include标签

    这些include标签将用于在另一个JSP页面中包含一个JSP文件。

    <-- First Syntax -->
    <s:include value="myJsp.jsp" />
    
    <-- Second Syntax -->
    <s:include value="myJsp.jsp">
       <s:param name="param1" value="value2" />
       <s:param name="param2" value="value2" />
    </s:include>
    
    <-- Third Syntax -->
    <s:include value="myJsp.jsp">
       <s:param name="param1">value1</s:param>
       <s:param name="param2">value2</s:param>
    </s:include>

    bean标签

    这些bean标签实例化一个符合JavaBeans规范的类。这个标签有一个主体,可以包含一些Param元素来设置任何mutator方法。如果在BeanTag上设置了var属性,它将把实例化的bean放入值栈的Context中。

    <s:bean name="org.apache.struts2.util.Counter" var="counter">
       <s:param name="first" value="20"/>
       <s:param name="last" value="25" />
    </s:bean>

    date标签

    data标签允许以快速简单的方式格式化日期。用户可以指定自定义日期格式(例如“dd/MM/yyyy hh:mm”),可以生成易读的符号(例如“在2小时14分钟内”),或者可以使用属性文件中的key:“struts.date.format”来回退到预定义的格式。

    <s:date name="person.birthday" format="dd/MM/yyyy" />
    <s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
    <s:date name="person.birthday" nice="true" />
    <s:date name="person.birthday" />

    param标签

    这些param标签可用于参数化其他标签。此标签具有以下两个参数。

    • name(字符串) - 参数的名称

    • value(对象) - 参数的值

    <pre>
    <ui:component>
     <ui:param name="key"     value="[0]"/>
     <ui:param name="value"   value="[1]"/>
     <ui:param name="context" value="[2]"/>
    </ui:component>
    </pre>

    property标签

    这些property标签用于获取一个值的属性,如果没有指定,它将默认为在值栈的顶部。

    <s:push value="myBean">
        <!-- Example 1: -->
        <s:property value="myBeanProperty" />
    
        <!-- Example 2: -->TextUtils
        <s:property value="myBeanProperty" default="a default value" />
    </s:push>

    push标签:

    这些push标签用于推送堆栈中的值,以简化使用。

    <s:push value="user">
        <s:propery value="firstName" />
        <s:propery value="lastName" />
    </s:push>

    set标签

    这些set标签为指定范围内的变量赋值。当你希望将变量分配给复杂表达式,然后仅仅引用该变量而不是复杂表达式时,它是很有用的。可应用的范围是应用程序,会话,请求,页面和action。

    <s:set name="myenv" value="environment.name"/>
    <s:property value="myenv"/>

    text标签

    这些text标签用于呈现I18n文本消息。

    <!-- First Example -->
    <s:i18n name="struts.action.test.i18n.Shop">
        <s:text name="main.title"/>
    </s:i18n>
    
    <!-- Second Example -->
    <s:text name="main.title" />
    
    <!-- Third Examlpe -->
    <s:text name="i18n.label.greetings">
       <s:param >Mr Smith</s:param>
    </s:text>

    url标签

    这些url标签用于创建URL。

    <-- Example 1 -->
    <s:url value="editGadget.action">
        <s:param name="id" value="%{selected}" />
    </s:url>
    
    <-- Example 2 -->
    <s:url action="editGadget">
        <s:param name="id" value="%{selected}" />
    </s:url>
    
    <-- Example 3-->
    <s:url includeParams="get">
        <s:param name="id" value="%{'22'}" />
    </s:url>

    Struts2 表单标签

    简单UI标签

    我们其实已经在前面的示例中使用了这些标签,接下来将在本章中重新回顾一下。以下是一个简单的视图页面email.jsp与几个简单的UI标签:

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <s:head/>
    <title>Hello World</title>
    </head>
    <body>
       <s:div>Email Form</s:div>
       <s:text name="Please fill in the form below:" />
       <s:form action="hello" method="post" enctype="multipart/form-data">
       <s:hidden name="secret" value="abracadabra"/>
       <s:textfield key="email.from" name="from" />
       <s:password key="email.password" name="password" />
       <s:textfield key="email.to" name="to" />
       <s:textfield key="email.subject" name="subject" />
       <s:textarea key="email.body" name="email.body" />
       <s:label for="attachment" value="Attachment"/>
       <s:file name="attachment" accept="text/html,text/plain" />
       <s:token />
       <s:submit key="submit" />
       </s:form>
    </body>
    </html>

    群组UI标签

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <title>Hello World</title>
    <s:head />
    </head>
    <body>
       <s:form action="hello.action">
       <s:radio label="Gender" name="gender" list="{'male','female'}" />
       <s:checkboxlist label="Hobbies" name="hobbies"
       list="{'sports','tv','shopping'}" />
       </s:form>
    </body>
    </html>

    选择UI标签

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <html>
    <head>
    <title>Hello World</title>
    <s:head />
    </head>
    <body>
       <s:form action="login.action">
          <s:select name="username" label="Username"
             list="{'Mike','John','Smith'}" />
    
          <s:select label="Company Office" name="mySelection"
             value="%{'America'}"
             list="%{#{'America':'America'}}">
          <s:optgroup label="Asia" 
             list="%{#{'India':'India','China':'China'}}" />
          <s:optgroup label="Europe"
             list="%{#{'UK':'UK','Sweden':'Sweden','Italy':'Italy'}}" />
          </s:select>
    
          <s:combobox label="My Sign" name="mySign"
             list="#{'aries':'aries','capricorn':'capricorn'}"
             headerKey="-1" 
             headerValue="--- Please Select ---" emptyOption="true"
             value="capricorn" />
          <s:doubleselect label="Occupation" name="occupation"
             list="{'Technical','Other'}" doubleName="occupations2"
             doubleList="top == 'Technical' ? 
             {'I.T', 'Hardware'} : {'Accounting', 'H.R'}" />
    
       </s:form>
    </body>
    </html>

    Struts2 Ajax标签

    Struts使用DOJO框架来实现AJAX标签。首先,执行示例前,你需要将struts2-dojo-plugin-2.2.3.jar添加到类路径。你可以从struts2 下载的lib文件夹中获取这个文件(C:struts-2.2.3-allstruts-2.2.3libstruts2-dojo-plugin-2.2.3.jar)。

    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags"%>
    <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
    <html>
    <head>
    <title>Hello World</title>
    <s:head />
    <sx:head />
    </head>
    <body>
       <s:form>
          <sx:autocompleter label="Favourite Colour"
             list="{'red','green','blue'}" />
          <br />
          <sx:datetimepicker name="deliverydate" label="Delivery Date"
             displayFormat="dd/MM/yyyy" />
          <br />
          <s:url id="url" value="/hello.action" />
          <sx:div href="%{#url}" delay="2000">
               Initial Content
          </sx:div>
          <br/>
          <sx:tabbedpanel id="tabContainer">
             <sx:div label="Tab 1">Tab 1</sx:div>
             <sx:div label="Tab 2">Tab 2</sx:div>
          </sx:tabbedpanel>
       </s:form>
    </body>
    </html>
  • 相关阅读:
    Scala编译环境搭建(mac IDEA)
    Scala初见
    boost spirit使用
    基于OPENCV的图像融合
    C++获取hostname&IP&MAC地址
    httpd启动检查
    react eslint 代码格式补全的插件
    将html页面导出为word
    redux的笔记
    img onerror事件的使用
  • 原文地址:https://www.cnblogs.com/superslow/p/9269315.html
Copyright © 2011-2022 走看看