JAVA学习之Struts2

来源:互联网 发布:中国历届人口普查数据 编辑:程序博客网 时间:2024/06/06 02:20
首先在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,对处理进行配置

struts><package name="helloWorld" extends="struts-default"><action name="hello" class="action.HelloWorldAction2"><result name="success">helloWorld.jsp</result></action></package>

Action类要继承ActionSupport类

在Action类处理时,采用属性驱动:A、基本数据类型属性 B、JavaBean 类型属性

package action;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionSupport;public class HelloWorldAction2 extends ActionSupport{/** *  */private static final long serialVersionUID = 1L;private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String execute() throws Exception {System.out.println("执行了Action的默认方法");return SUCCESS;}}可以使用include配置Struts.xml
<struts><include file="cheliang.xml"></include><include file="zichan.xml"></include></struts>

通配符调用类和方法

<!-- <action name="*_*" class="action.{1}Action" method="{2}"><result name="success">success.jsp</result></action> -->

动态调用方法

<a href="student!list" target="_blank">学生信息查询</a>&nbsp;

全局变量

<global-results>
type 指定种类,默认转发

<package name="manage" namespace="/" extends="struts-default"><global-results><result name="error">error.jsp</result></global-results><action name="hello" class="action.HelloAction"><result name="success" type="dispatcher">success.jsp</result><result name="r" type="redirect">success.jsp</result><result name="c" type="chain">hello2</result><result name="ra" type="redirectAction">hello2</result></action><action name="hello2" class="action.HelloAction2"><result name="success" type="dispatcher">success.jsp</result></action></package>
拦截器
@Overridepublic void destroy() {System.out.println("LoginInterceptor销毁");}@Overridepublic void init() {System.out.println("LoginInterceptor初始化");}@Overridepublic String intercept(ActionInvocation invocation) throws Exception {} 
配置拦截器

<interceptors><interceptor name="myInterceptor" class="interceptor.MyInterceptor"></interceptor><interceptor name="loginInterceptor" class="interceptor.LoginInterceptor"></interceptor><interceptor-stack name="myStack"><interceptor-ref name="loginInterceptor"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></interceptor-stack></interceptors>

配置默认拦截器

<default-interceptor-ref name="myStack"></default-interceptor-ref>

0 0
原创粉丝点击