1)添加Struts支持
首先新建一个WebProject工程,我的名为Struts3,选中该工程,单击菜单栏上的MyEclipse,选择Add Struts Capabilities,弹出的对话框不用左任何修改,直接单击【Finish】即可。这样为工程添加Struts支持的操作就完成了。这时包资源管理器下就会多出一些诸如struts-config.xml之类的文件。
(2)编写简单的Struts实例
一、将/Struts3/WEB-INF/下的index.jsp文件内容改为以下代码:(index.jsp代码如下)
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html>
<body>
<html:link page="/HelloWorld.do?place=1">HelloWorld_1</html:link>
<html:link page="/HelloWorld.do?place=2">HelloWorld_2</html:link>
</body>
</html:html>
二、双击打开/Struts3/WEB-INF/下的struts-config.xml文件,在控制台会出现如下所示的界面
单击中央区域左侧按钮列表的第六个按钮,在单击中央区域的网格部分,会弹出如下对话框,在对话框中建立HelloWorld_1.jsp文件后【Finish】同理建立另一个jsp文件HelloWorld_2.jsp,然后会发现网格部分出现了刚建立的两个文件的图标,当然还有index.jsp文件的,但暂时还没出现。如下图:
三、创建控制器
单击左侧按钮列表的第三个按钮在单击网格部分可弹出建立控制器(Action)的对话框(下图)按图填写,其中
Path——填写将要建立的控制器被访问的路径
Type——填写实际的Action文件名。(如:hello.HelloAction或HelloAction)
填写好后单击Forwards选项卡,然后【Add】按钮,弹出如下对话框(左图),然后【Browse】弹出右图所示对话框,选择要跳转到的页面,同理建立第二个Forward名为hello_2,如此网格中将会出现如下第三幅图
四、修改控制器代码,HelloAction.java内容如下:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class HelloAction extends Action {
public ActionForward execute(ActionMapping map, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String para=(String)request.getParameter("place");
System.out.println(para);
if(para.equals("1"))
return (map.findForward("Hello_1"));
else
return (map.findForward("Hello_2"));
}
}
五、修改HelloWorld_1.jsp和HelloWorld.jsp是两个页面文件输出内容不一样,如HelloWorld_1.jsp显示 This is my 1111111 page.而HelloWorld_2.jsp显示 This is my 2222222page.这样就完成了该工程,右击工程名运行即可。
六、补充struts-config.xml配置文件和web.xml文件代码
struts-config.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans />
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/HelloWorld" type="HelloAction">
<forward name="Hello_2" path="/HelloWorld_2.jsp" />
<forward name="Hello_1" path="/HelloWorld_1.jsp" />
</action>
</action-mappings>
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>
web.xml文件代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>