Struts2教程

Apache Struts 2 是一种流行的 Java模型 - 视图 - 控制器(MVC)框架,成功地结合了 WebWork和Struts1.x 两种 web 框架。

注:我只是文章的搬运工,按照自己快速过的原则归类,如需了解详情,请移步至参考原文

参考:http://www.yiibai.com/struts_2/

  • Struts 2 UI标签
  • Struts 2 控制标签(if,else,sort,generator,merge,append等同标准标签库或类似)
  • Struts2 数据标签(action,include,param,url,set,push等)
UI标签-<s:textfield>文本示例
  • 创建一个HTML文本框输入字段。
    1
    2
    3
    4
    <s:form action="registerUser" namespace="/user">
    <s:textfield label="Username" name="username" />
    <s:submit key="submit" name="submit" />
    </s:form>

文本示例

UI标签-<s:password>密码示例
  • 创建HTML密码字段。
    1
    2
    3
    4
    5
    6
    <s:form action="registerUser" namespace="/user">
    <s:textfield key="username" />
    <s:password key="password" />
    <s:password key="confirmPassword" />
    <s:submit key="submit" name="submit" />
    </s:form>

密码示例

UI标签-<s:hidden>隐藏值例子
  • 创建一个HTML隐藏字段。
    1
    2
    3
    4
    5
    <s:form action="helloHidden" namespace="/">
    <h2>This page has a hidden value (view source):
    <s:hidden name="url" value="http://www.yiibai.com" /></h2>
    <s:submit value="submit" name="submit" />
    </s:form>

隐藏值例子

UI标签-<s:textarea>文本域实例
  • 创建一个textarea文本域字段。
    1
    2
    3
    4
    5
    6
    <s:form action="helloTextarea" namespace="/">
    <h2>
    <s:textarea label="Address" name="address" cols="40" rows="10"/>
    </h2>
    <s:submit value="submit" name="submit" />
    </s:form>

文本域实例

UI标签-<s:radio>单选按钮例子
  • 创建一个单选按钮。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <s:form action="resultAction" namespace="/">
    <h2>
    <s:radio label="Gender" name="yourGender" list="genders" value="defaultGenderValue" />
    <s:radio label="Gender" name="yourLanguage" list="languages"
    listKey="languageCode" listValue="languageDisplay" value="defaultLanguageValue" />
    <s:radio label="Answer" name="yourAnswer" list="#{'1':'Yes','2':'No'}" value="2" />
    </h2>
    <s:submit value="submit" name="submit" />
    </s:form>

languages = new ArrayList();
languages.add( new Language(“EN”, “English”) );

单选按钮例子

UI标签-<s:checkboxlist>多个复选框例子
  • 用相同的名称创建多个复选框,存储检选中的值,并在另一页面中显示。
    1
    2
    3
    4
    5
    6
    7
    <s:form action="resultAction" namespace="/">
    <h2>
    <s:checkboxlist label="What's your favor color" list="colors"
    name="yourColor" value="defaultColor" />
    </h2>
    <s:submit value="submit" name="submit" />
    </s:form>

<s:checkbox>单个复选框例子<s:checkbox name="checkMe" fieldValue="true" label="Check Me for testing"/>

多个复选框例子

UI标签-<s:select>下拉框例子
  • 创建一个HTML下拉框。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <s:form action="resultAction" namespace="/">
    <h2>
    <s:select label="What's your favor search engine"
    headerKey="-1" headerValue="Select Search Engines"
    list="searchEngine"
    name="yourSearchEngine"
    value="defaultSearchEngine" />
    </h2>
    <h2>
    <s:select label="Select a month"
    headerKey="-1" headerValue="Select Month"
    list="#{'1':'Jan', '2':'Feb', '3':'Mar', '4':'Apr'}"
    name="yourMonth"
    value="2" />
    </h2>
    <s:submit value="submit" name="submit" />
    </s:form>

“headerKey”是一个在下拉列表中项用来表示键,而“headerValue”是在下拉列表中的项目表示值。

下拉框例子

UI标签-<s:combobox>组合框的例子
  • 是一个下拉列表单和文本框组合在一起,允许用户直接输入一个值在文本框中,或选择从下拉列表中选择值,并选定值将自动填充到文本框中。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <s:form action="resultAction" namespace="/">
    <h2>
    <s:combobox label="What's your favor fruit"
    headerKey="-1" headerValue="--- Select ---"
    list="fruits"
    name="yourFruits" />
    </h2>
    <h2>
    <s:combobox label="Select a month"
    headerKey="-1" headerValue="--- Select ---"
    list="#{'1':'Jan', '2':'Feb', '3':'Mar', '4':'Apr'}"
    name="yourMonth" />
    </h2>
    <s:submit value="submit" name="submit" />
    </s:form>

“headerKey”是一个在下拉列表中项用来表示键,而“headerValue”是在下拉列表中的项目表示值。
组合框的例子

不常用的还有

<s:file>文件上传

<s:doubleselect>级联选择

<s:updownselect>,上下选择框

<s:optiontransferselect>左右选择框

<sx:datetimepicker>日期选择框

<sx:autocompleter>自动提示

Struts 2 控制标签

  • 用来做条件处理,迭代,处理和显示数据。
    <s:iterator>
    Struts2迭代器标签用来迭代一个值,它可以是任何的 java.util.Collection 或 java.util.Iterator

    <s:if>, <s:elseIf>, <s:else>
    Struts2 if,elseif和else标签被用来执行基本条件检查。

    <s:append>
    Struts2 <s:append>标签用来组合几个迭代器(由列表或映射创建)到一个迭代器

    <s:generator>
    struts2 <s:generator>标记用于基于在页中提供“val”属性,以产生一个迭代。

    <s:merge>
    Struts2 <s:merge>标签用来合并几个迭代器(以列表或映射创建)成一个迭代器。

    <s:sort>
    Struts2 <s:sort>是用于排序一个列表,它通过使用 java.util.Comparator 来实现。

    subset tag example
    Struts2 <s:subset>标记用于输出一个迭代元素的子集或部分。<br

Struts2 数据标签

<s:a>
Struts2的<s:a>标签被用于渲染HTML的<a>标签。

<s:action>
Struts2的<s:action>标签用来直接在一个JSP页面中调用Action类

<s:bean>
Struts2的<s:bean>标签用来在JSP页面中实例化一个类

<s:date>
Struts2的<s:date>标签用来在JSP页面格式Date对象。

<s:debug>
Struts 2的<s:debug>标签是一个非常有用的调试标记,用于输出“值栈”的内容,并在JSP页面中输出“堆栈上下文”的详细信息。

<s:include>
Struts 2的<s:include>标签用来直接包含JSP或HTML页面到当前页面。

<s:i18n>
Struts 2的<s:i18n>标签用来获取声明的资源包,而不仅仅是资源包,也可获取当前操作相关联的消息。

<s:param>
Struts2的<s:param>标签用来参数化其他标签。

<s:property>
Struts2的<s:property>标签用来从一个类获取当前默认Action类的属性值。

<s:push>
Struts2的<s:push>标签用来推值到堆栈的顶部,以便它可以容易访问或参考。

<s:set>
Struts2的<s:set>标签用来在指定的范围内(应用,会话,请求,页面,或动作)赋值给一个变量。

<s:text>
Struts2的<s:text>标签用于从操作类取出资源包消息

<s:url>
Struts2的<s:url>标签用来创建一个URL,并输出作为文本格式

end

文章目录
  1. 1. Apache Struts 2 是一种流行的 Java模型 - 视图 - 控制器(MVC)框架,成功地结合了 WebWork和Struts1.x 两种 web 框架。
    1. 1.0.0.1. UI标签-文本示例
    2. 1.0.0.2. UI标签-密码示例
    3. 1.0.0.3. UI标签-隐藏值例子
    4. 1.0.0.4. UI标签-文本域实例
    5. 1.0.0.5. UI标签-单选按钮例子
    6. 1.0.0.6. UI标签-多个复选框例子
    7. 1.0.0.7. UI标签-下拉框例子
    8. 1.0.0.8. UI标签-组合框的例子
  • 2. Struts 2 控制标签
  • 3. Struts2 数据标签
  • |