Struts2基础

本文介绍了Struts2框架的基本配置方法,包括所需类库、过滤器配置、核心配置文件详解,以及如何进行包配置、Action配置和结果配置。同时提供了获取ActionContext对象中的request、session和application的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载地址:http://struts.apache.org/
Struts2需要添加的类库文件:

在web.xml中配置注册Struts2提供的StrutsPrepareAndExecuteFilter过滤器:

<!-- Struts2过滤器 -->
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<!-- Struts2过滤器映射 -->
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Struts2框架的配置文件

—|—
struts-default.xml|位于struts-core-2.1.14.1.jar文件的org.apache.struts2包中
struts-plugin.xml|位于struts2提供的各个插件包中
struts.xml|web应用默认的Struts2配置文件,放在src目录下,开发人员编写
struts.properties|Struts2框架中属性配置文件,开发人员编写
web.xml|也可以设置Struts2框架的一些信息

Struts2的包配置

声明包:

<struts>
    <package name="user" extends="struts-default" namespace="/user">
        ... 
    </package>
</struts>
属性说明
name声明包的名称,方便引用,必需
extends声明继承的包
namespace指定名称空间,即访问此包下的Action需要访问的路径,需要以/开头,否则找不到Action的访问地址
abstract将包声明为抽象类型( 包中不定义Action)

Action相关配置

<action name="userAction" class="com.ice.action.UserAction" method="save">
        <result name="add">user_add.jsp</result>
        <result name="update">user_update.jsp</result> 
</action>
属性说明
nameAction对象被请求的URL映射
class指定Action的类名
method设置请求Action对象调用的方法
converter指定Action对象类型转换器的类

通配符

  • “*”:匹配0或多个字符;
  • “\”:转义字符,如需匹配”/”,使用”\/”.

返回结果的配置

<result name="add">user_add.jsp</result>
属性说明
name与Action中方法的返回值对应,如果不设置,默认为success
type设置返回结果的类型,如请求转发、重定向等

ActionContext对象

实例化ActionContext
public static ActionContext getContext()
获取Map类型的request

使用ActionContext提供的:

public Object get(Object key)

例如:

Map request = ActionContext.getContext.get("request");
获取Map类型的session

可以通过ActionContext的get()方法,也可以通过getSession():

public Map getSession()
获取Map类型的application
public Map getApplication()

在JSP中使用Struts2的标签库,需要引入标签库,可以通过
<%@ taglib prefix=”s” uri=”/struts-tags” %>来引入!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值