MyEclipse下的第一个Struts例子

来源:互联网 发布:青岛app软件开发 编辑:程序博客网 时间:2024/04/29 14:08

 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文件,在控制台会出现如下所示的界面

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

单击中央区域左侧按钮列表的第六个按钮,在单击中央区域的网格部分,会弹出如下对话框,在对话框中建立HelloWorld_1.jsp文件后【Finish】同理建立另一个jsp文件HelloWorld_2.jsp,然后会发现网格部分出现了刚建立的两个文件的图标,当然还有index.jsp文件的,但暂时还没出现。如下图:

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

三、创建控制器

单击左侧按钮列表的第三个按钮在单击网格部分可弹出建立控制器(Action)的对话框(下图)按图填写,其中

Path——填写将要建立的控制器被访问的路径

Type——填写实际的Action文件名。(如:hello.HelloAction或HelloAction)

 

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

填写好后单击Forwards选项卡,然后【Add】按钮,弹出如下对话框(左图),然后【Browse】弹出右图所示对话框,选择要跳转到的页面,同理建立第二个Forward名为hello_2,如此网格中将会出现如下第三幅图

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

MyEclipse下的第一个Struts例子(源代码) - jingfang_1985 - 狂风

四、修改控制器代码,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>