1,搭建框架
下载struts2,解压——apps——struts2-blank.war——lib,把这个文件夹内的所有jar导入Myeclipse。可以将其做成一个user libarory。
2,写调用action的hello.jsp文件
<body>
This is my JSP page. <br>
<form name = "jspaction" action = "show" method = "post">
<input type = "submit" name ="点击提交"/>
</form>
</body>
当点击提交的时候就会调用show这个action。
3,配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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> </web-app>
这要是深颜色部分,其实拷贝过来就行,都一样。
4,配置struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="gb2312"></constant>
<package name = "wo" extends="struts-default">
<action name = "show" class = "com.cn.TestAction">
<result name = "success">/show.jsp</result>
</action>
</package>
</struts>
这里很重要,action中的name表示调用show的地方就是在这接收,后面的class表示具体的java类型的action文件的地址,com.cn.TestAction表示com/cn这个文件加下TestAction.java这个action。
5,这个action的内容如下所示:
package com.cn;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport{
public String execute() throws Exception{
return SUCCESS;
}
}
注意,这里返回的SUCCESS是大写,在struts.xml中的success是小写。这个不对的话,会报错:
SEVERE: Exception occurred during processing request: No result defined for action com.cn.TestAction and result success
No result defined for action com.cn.TestAction and result success
一定要注意的地方。
6,返回用的jsp文件,这里没有接收参数就可以随便写了,只要名字命名为show.jsp就行了。
我这个程序的源文件地址:
http://download.csdn.net/detail/haizhu668/5163836
这样就配置完成了,总的串一下:
文件调用action的时候都会通过struts.xml这个配置文件找到相应的class执行文件,执行文件中的execute方法会返回一个值,然后struts.xml文件会根据返回的结果跟自己的每个action中的name相匹配,匹配成功之后就会执行相应的动作。