你的位置:首页 > Java教程

[Java教程]struts2基础——最简单的一个例子


学习版本:struts-2.3.15.3

一、导入jar包,可以参考 官方项目 blank。

二、添加配置文件:web.

web.

  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>/*</url-pattern>  </filter-mapping>

web.

struts.

<??><!DOCTYPE struts PUBLIC  "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"  "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>  <package name="default" namespace="/" extends="struts-default">    <action name="helloworld" class="com.nucsoft.struts2.helloworld.HelloWorld" method="firstMethod">      <result name="success">/success.jsp</result>    </action>  </package></struts>

struts.

三、创建 Action 类

public class HelloWorld {  private static final String SUCCESS = "success";  public String firstMethod() {    System.out.println("com.nucsoft.struts2.helloworld.HelloWorld.firstMethod");    return SUCCESS;  }}

HelloWorldAction

四、详解

web.

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter为 struts2 的核心处理器,相当于 SpringMVC 的dispatchServlet

struts.

根标签:struts

package 标签定义一个功能模块,

name 属性:标识 package,便于引用,extends 属性:需要继承一个父 package,如 struts-default。

namespace 属性:包的命名空间。默认为 /,abstract 属性:定义包为抽象的,不能包含 Action 的定义。

action 标签:

一个 Struts2 请求就是一个 action,

name 属性:定义了一个 Struts2 请求的名字,不包含扩展名,相当于 servlet-path 去掉 / 和 .action

class 属性:定义请求处理类,默认为 ActionSupport,在 struts-default.

method 属性:每一个 Action 类都可以应答多个 Struts2 请求,每一个请求都由具体的方法处理,方法名由 method 指定。默认为 execute()。

result 标签:

代表 Struts2 处理用户请求后返回的"结果",也就是响应。

name 属性:值和 action 的 method 属性指定的方法的字符串返回值对象,默认为 success。


Action类:
1.不需要实现任何接口或继承任何类。

2.在 Action 类中可以使用 setXxx() 方法接受 Struts2 请求中提交的请求参数(不论是 get 请求还是 post请求)

3.Action 类中的 getXxx() 方法可以用来在页面上显示数据

4.处理请求方法有固定格式:必须为 public,返回值必须是 String 类型,没有参数

 

struts2的两个默认文件:

struts-default.

default.properties