当前位置: 首页 > 教程 > Struts2 >

Struts2教程

精华
小牛编辑
311浏览
2023-03-14

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

Apache Struts2与Struts1完全不同,它的核心功能都是使用拦截实现“值栈”的概念,OGNL表达式和Struts2标签来解决应用程序数据,很多注解和约定,使这个框架更加易于使用。 在本教程中,它提供了许多使用Struts2的MVC框架的实例和解释。

欢迎来到小牛知识库学习Struts2。

Struts2 快速入门

Struts2快速入门的例子。

  • Struts 2 hello world (XML版本)
    使用XML文件的Struts 2 Hello World 示例
  • Struts 2 Hello World (注解版本)
    使用注释的Struts 2 Hello World 示例
  • @ResultPath 注释示例
    @ResultPath 注释说明和示例

Struts2 配置

任何关于 Struts2 的配置文件。

  • 多个Struts配置文件示例
    拆分大的Struts配置文件分成多个小的配置文件。
  • Struts2 命名空间配置和解释
    Struts2命名空间是一个新的概念,用来处理多个模块,由下式给出一个命名空间对应的每个模块。
  • Struts2开发模式
    启用了Struts2开发模式将会使调试变得更容易。
  • 如何删除Struts2动作的后缀扩展名

    默认的“.action”扩展名是丑陋的,并不是用户友好的,可以删除或用另一个扩展名来取代它。

Struts2 动作和表单

Struts 2的动作和表单数据管理。
  • 使用Struts2动作
    Struts 2的动作说明和示例。
  • Struts 2 ActionError & ActionMessage Example
    Struts 2的ActionError和ActionMessage的解释和例子。
  • Struts 2 ModelDriven example
    自动将的表单数据传输到对象。

Struts2 拦截器

关于Struts 2的拦截器。
  • 映射拦截动作
    配置拦截器动作。
  • 重写拦截器参数
    几种方法来覆盖拦截器的参数。
  • 拦截器栈的例子
    拦截器堆栈用于建立一组的拦截器,以再利用。
  • 创建自己的拦截器
    创建自己的拦截器指南,以满足您的需求。
  • execAndWait拦截器例子
    一个非常方便的拦截器长时间运行动作在后台,显示用户的自定义的等待页面。

Struts 2 UI标签

Struts 2的UI标签,来渲染HTML表单和非表单组件。
  • TextBox文档示例
    Struts2 <s:textfield> 文本实例.
  • Password 示例
    Struts2 <s:password> 密码实例.
  • Hidden隐藏值示例
    Struts2 <s:hidden> 隐藏值例子
  • Textarea - 文本域
    Struts2 <s:textarea> textarea例子
  • Radio 单选按键示例
    Struts2 <s:radio> radio单选按钮例子
  •  预选单选按钮
    预选单选按钮值示例
  • 复选框heckbox 示例
    Struts2 <s:checkbox> 复选框示例
  • 复选框checkboxes 示例
    Struts2 <s:checkboxlist> 多发复选框的例子
  • 设置复选框的默认值
    设置多个复选框的默认值
  • 下拉框示例
    Struts2 <s:select> 下拉框例子
  • 自动选择下拉框示例
    自动选择下拉框值指南
  • 组合框示例
    Struts2 <s:combobox> 组合框的例子
  • head 示例
    Struts2 <s:head>, 呈现一个HTML头组件
  • 文件上传示例
    Struts2 <s:file> 文件上传示例
  • 多文件上传示例
    Struts2 <s:file> 多文件上传示例
  • 级联选择示例
    Struts2 <s:doubleselect>, 创建两个HTML下拉框,当第一下拉列表中选择,第二下拉列表将相应地改变
  • updownselect 示例
    Struts2 <s:updownselect>, 创建一个带有按钮,向上或向下移动在选择组件的选项选择HTML组件。
  • optiontransferselect 示例
    Struts2 <s:optiontransferselect>, 两个“updownselect”选择组件排列在左侧和右侧,在它们中间包含有按钮来移动自己的选择选项。
  • datetimepicker 日期选择
    Struts2 <s:datetimepicker>, 将呈现一个文本框和追加后面的日历图标,单击日历图标上会提示的日期时间选择器组件。
  • autocompleter自动完成示例
    Struts2 <s:autocompleter>, 一个组合框,会自动提示下拉的提示菜单,在用户输入文本框时。
  • autocompleter + JSON 示例
    举个例子,使用JSON数据填充到autocompleter组件。

Struts 2 控制标签

在 Struts2 中的控制标签或逻辑标签,用来做条件处理,迭代,处理和显示数据。
  • <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>标记用于输出一个迭代元素的子集或部分。

Struts2 数据标签

Struts2数据标签,从ValueStack中获取数据,或将数据放入ValusStack。
  • <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,并输出作为文本格式

Struts2 资源包和本地化

Struts2的资源包来支持网络定位功能(多语言)
  • 资源包使用示例
    Struts2的资源包的解释和例子
  • i18n 或本地化示例
    一个Struts 2的国际化和多语言的例子来说明如何使用资源包来显示不同语言的消息
  • key 属性示例
    Struts 2 key属性在UI组件是处理本地化的常用方法,也UI标签编码的一个非常有效的方法
  • Chinese 本地化问题
    一个常见的中国本地化的问题
  • 配置全局资源包
    配置Struts2的全局资源包指南

Struts2主题

Struts2 的布局是由“XHTML”主题设计的,所以了解 Struts2 主题概念是必须的。
  • Struts2 主题和模板
    Struts 2主题和模板的说明和示例

Struts2集成其它框架

Struts2与任何他人框架的整合 - Spring, Hibernate, Quartz, Log4j…
  • Struts2 + Spring集成实例
    Struts2和Spring框架集成。
  • Struts2 + Quartz调度集成实例
    Struts2和Quartz调度框架集成。
  • Struts2 + Hibernate 集成实例
    集成 Struts2 和 Hibernate 框架。
  • Struts2 + Hibernate使用“Full Hibernate Plugin"插件集成
    使用 “Full Hibernate Plugin”集成Struts2 和Hibernate3
  • Struts2 + Spring + Hibernate集成实例
    集成Struts2,Spring和Hibernate三个框架。
  • Struts 2 + Log4j 集成实例
    集成Struts 2 和Log4j 框架.

Struts2 FAQ

  • FilterDispatcher 和 StrutsPrepareAndExecuteFilter区别?
    关于开发问 filterdispatcher 和 strutsprepareandexecutefilter 之间的差异。
  • 在Struts2中获取 HttpServletRequest
    获取 Struts2 HttpServletRequest对象的实例。
  • 在Struts2获取HttpServletResponse对象
    在Struts2中如何获取 HttpServletResponse 对象实例
  • 在Struts2中如何获取ServletContext对象
    在Struts2获取ServletContext对象实例
  • 在Struts2中配置静态参数(有示例代码)
    在Struts2配置静态参数实例
  • Struts2下载文件实例(有实例代码)
    Struts2实现下载文件实例
  • Struts2 和 JSON 实例(有实例代码)
    举个例子来说明Struts2集成JSON数据。

Struts2 参考

  • Struts2 官方文档
  • Struts2 通用标签
  • http://en.wikipedia.org/wiki/Apache_Struts