MVC框架Struts2学习笔记(2):Struts2 helloWorld
1、搭建环境:参考MVC框架Struts2学习笔记(1)
2、配置struts.xml:
代码
<?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>
<package name="papaya" namespace="/test" extends="struts-default">
<action name="hello" class="com.papaya.action.HelloAction" method="execute">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
</struts>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="papaya" namespace="/test" extends="struts-default">
<action name="hello" class="com.papaya.action.HelloAction" method="execute">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
</package>
</struts>
其中package的
name属性用于其它package继承用,除此之外没有什么作用。
namespace:是在访问该package下的action的时候需要在URL上加上namespace所代表的路径字符串。
extends:是继承,一般情况下所有自建的package都应当继承自struts-defaul包, 该包位于/struts2-core-2.1.8.jar下的struts-defaul.xml文件中。
Action 的method是请求的时候默认调用的方法。
3、创建action类
代码
package com.papaya.action;
public class HelloAction {
private String message;
public String execute()
{
message="hello world";
return "success";
}
public String getMessage() {
return message;
}
}
public class HelloAction {
private String message;
public String execute()
{
message="hello world";
return "success";
}
public String getMessage() {
return message;
}
}
4、Action名称的搜索顺序
在请求Action路径http://localhost:8080/Struts2-1/test/13/hjkhj/hello的时候,struts首先会在 test/13/hjkhj命名空间当中寻找hello这个action,如果没有找到,他会继续到test/13/hjkhj命名空间的上层空间/test/13寻找,如果还是没有找到该namespace他还会继续往上层寻找。直到默认命名空间namespace=""为止。