Struts2之命名空间与Action的三种创建方式
看到上面的标题,相信大家已经知道我们接下来要探讨的知识了,一共两点:1、package命名空间设置;2、三种Action的创建方式。下面我们开始本篇的内容:
首先我们聊一聊命名空间的知识,namespace决定了action的访问路径,默认为"",可以接受所有路径的action,namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.action,namespace最好也用模块来进行命名。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="user" class="com.edu.action.User" method="login"> <result>/success.jsp</result> </action> </package> <!-- Add packages here --> <package name="hello" namespace="/hello" extends="struts-default"> <action name="login" class="com.edu.action.Hell" method="login"> <result>/hello.jsp</result> </action> </package> </struts>
做过开发的朋友一定都知道package包的作用,这里的name使用了唯一标示package的名称,namespace则就是本篇我们要一起探讨内容,决定了我们访问的路径。以上两个action的访问路径分别为:http://localhost:8080/Struts/user与http://localhost:8080/Struts/hello/login
下面我们一起来探讨一下action的三种创建方式:分别为一般Class类、实现Action接口、继承ActionSupport类,下面我们一起来探讨一下。
第一种方式:
public class User1 { public String execute(){ System.out.println("Action1"); return "success"; } }
第二种方式:
public class User2 implements Action { public String execute() throws Exception { System.out.println("Action2"); return "success"; } }
第三种方式:
public class User3 extends ActionSupport { @Override public String execute() throws Exception { System.out.println("Action3"); return SUCCESS; } }
关于Struts的1、package命名空间设置;2、三种Action的创建方式介绍就结束了,后续内容持续更新中。。。