先在web.xml 中配置struts2的过滤器: StrutsPrepareAndExecuteFilter
<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>
struts.xml配置文件, 名称和位置固定的 在src(类路径) 下
示例: <!--struts2的dtd约束--!> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="demo" extends="struts-default" namespace="/"> <action name="demo" class="cn.qzm.struts2.Demo_Action" method="execute"> <result name="SUCCESS" type="dispatcher">/success.jsp</result> </action> </package> </struts> 分析: 1. <package>标签 1. name : 对package命名,<struts>里会有多个<package>,所以name不能重复 2. extends:固定值 struts-default , 这个参数作用是让这个package配置的类有action功能 3. namespace: 与<action> 标签里的name属性值构成访问路径, 默认是 "/" 2. <action>标签 1. name : 访问路径,多个<action>时不能有重复命名 2. class: action类的全路径 3. method没配置:默认访问action类中的execute方法,如果一个action类里有多个方法,就需要配置,这里直接使用通配符* 的方式: <action name="demo_*" class="cn.qzm.struts2.Demo_Action" method={1}> 3. <result>标签(局部结果页面) 1. name: 要与action类中的方法返回值一致 2. 中间的值 就是代表要去访问的 页面 3. type:默认转发dispatcher 1) dispatcher :Action 转发给 JSP 2) chain :Action调用另一个Action (同一次请求) <result name="success" type="chain">hello</result> hello是一个Action的name 3) redirect : Action重定向到 JSP 4) redirectAction :Action重定向到另一个Action <result name="success" type="redirectAction">hello</result> 4. <global-results>全局结果页面配置: <package> <global-results> <result name="SUCCESS" type="dispatcher">/success.jsp</result> </global-results> <action>..<action> </package> 如果多个action返回值相同,去的页面也相同,这时就可以用全局结果页面配置,如果同时配置了全局与局部,最后以局部为准
1. Struts2框架之配置详解
最新推荐文章于 2020-06-05 17:07:37 发布