1.导入相关jar包
- Struts2配置核心过滤器
使用Struts2需要在lib下的web.xml中配置核心过滤器
代码如下:
<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>
- 配置src下struts.xml
<package>
标签是为了将Action配置封装起来,一个<package>
标签下可以配置多个action
<package>
标签下的name属性是给包取得名字,起到标识作用,可以随便起,不能与其他包名重复
namespace属性是给action的访问路径定义一个命名空间,在前端页面使用action时需要加上命名空间名字如果给命名空间命名为/hello
那么在前端页面中应该href = "/hello/Action.action"
命名空间也可以写/
,在前端中写href = "/Action.action"
即可;
extends属性:继承一个指定包,,其中struts-default
为必须继承
<action>标签:配置action类
name属性决定action的访问资源名
class属性为Action的完整类名
method属性:指定调用action类中的哪个方法来处理请求
处理异常: <global-exception-mappings>
<exception-mapping>中的result属性为设置异常处理标识,要与<result>标签中的name属性相同,
exception属性为具体出现的错误名称
<result> 标签:处理结果配置
name属性:标识结果处理的名称,一般与action的返回值相对应,也可处理异常返回结果
type属性:指定调用哪个result类来处理结果,默认为转发
标签体:跳转到哪个页面或action
引用写在具体包下的Struts.xml文件
<include file="cn/action/struts.xml"></include>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 可以在src中的Struts.xml中直接配置action -->
<constant name="struts.devMode" value="true"></constant>
<package name="LoginAction" namespace="/" extends="struts-default">
<global-exception-mappings>
<exception-mapping result="error" exception="java.lang.RuntimeException"></exception-mapping>
</global-exception-mappings>
<action name="LoginAction" class="cn.action.LoginAction" method="login">
<result name="huanying">/index.html</result>
<result name="error">/login.jsp</result>
</action>
</package>
<!-- 引用写在具体包下的Struts.xml文件 -->
<include file="cn/action/struts.xml"></include>
</struts>
网友评论