struts2 的HelloWord

之前有接触struts2,可是有种琵琶半遮面的状态,现在不忙,赶紧学习学习!

1:我使用的是MyEclipse 10。建立web项目,给项目添加外部引用包(project-properties-Java Build Path-Add External Jars...)。添加的包有:commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,commons-logging-api-1.1.jar,freemarker-2.3.16.jar,javassist-3.7.ga.jar,ognl-3.0.jar,struts2-core-2.2.1.1.jar,xwork-core-2.2.1.1.jar。注意:由于struts2版本的差异性,上面提到的包不一定满足所有版本的需求。配置完struts2后,请部署运行一下。根据运行时的错误提示来添加jar包解决问题。比如,配置struts-2.2.1.1时需要commons-io-1.3.2.jar包和javassist-3.7.ga.jar包,但是2.1版本就不需要这两个包。

2:在web.xml中加入struts2 MVC框架启动配置

<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

3:编写struts.xml文件

在MyEclipse项目中的src根目录下建立一个struts.xml文件。(可以打开下载的struts2安装包里的apps目录下的任意一个jar包,在里面的WEB_INFR/src目录下,寻找struts.xml文件,将该文件复制进项目的src根目录下,将里面的内容清空(只留下<struts>标签和头部标签即可))

4:编写LoginAction类。代码如下:

public class HelloAction extends ActionSupport {

private String str;

public String hello() {
this.str = "hello!";
return "success";
}

public String getStr() {
return str;
}

public void setStr(String str) {
this.str = str;
}

}

5:配置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="test" namespace="/np" extends="struts-default">
<action name="hello" class="cn.struts.test.HelloAction" method="hello">
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>

 

主要属性说明:package-name:用于区别不同的package;必须是唯一的、可用的变量名;用于其它package来继承;

                    package--namespace:用于减少重复代码(和struts1比较);是调用action时输入路径的组成部分;

                    package--extends:用于继承其它package以使用里面的过滤器等东东;

                    action--name:用于在一个package里区别不同的action;必须是唯一的、可用的变量名;是调用action时输入路径的组成部分;

                    action--class:action所在的路径(包名+类名);

       action--method:action所调用的方法名;

还有其它的属性,因为项目里没有用到,就没有解释。如有需要,请查阅相关文档。

6:根据struts.xml里配置的内容,还需要一个hello.jsp页面。编写hello.jsp页面。代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="US-ASCII"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'hello.jsp' starting page</title>
</head>
<body>
<h1>
<s:property value="str" />
</h1>
</body>
</html>

 

 经过上述步骤,struts2的一个简单实例已经编写完毕。启动tomcat,在网页地址栏里输入:http://localhost:8080/np/hello.action  查看结果!

posted @ 2013-10-09 11:26  szl_work  阅读(202)  评论(0编辑  收藏  举报