最簡單的Struts程序(1)

[目標]

    實現一個最簡單的Struts程序。程序包括一個輸入頁和輸出頁,輸入頁。

    對於學習程序設計,我們已習慣於從Hello程序開始,實踐證明,這是一個最有效的入門方法。下面就着手設計我們的第一個Struts程序----Hello程序。Hello程序的目標是實現從一個輸入JSP頁面中的輸入框輸入一個“我愛struts”單詞,在另一個輸出JSP頁面中顯示“我愛struts”一詞。根據Struts框架的要求,這個Hello程序將包含輸入JSP文件、輸出JSP文件、Action文件、FormAction文件及配置文件。也就是說,這個Hello程序是一個完整的Struts程序,它可直接在Tomact、websphere等服務器上運行。

[效果]


輸入頁面:



輸出頁面:



[步驟]

1、打開MyEclipse開發環境(安裝配置可參考我前面的教程)。
新建一個WEB項目“suan_struts01”,並且導入struts相關資料包,具體方法是見下圖:

2、右鍵選擇項目新建兩個JSP文件“hello.jsp”、“helloOut.jsp”,具體內容如下:

hello.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ 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>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:form action="/helloAction.do" method="post">
  <html:text property="mybeanvariable1" />
  <html:submit value="提交" />
  <html:reset value="重寫" />
 </html:form>
</body>
</html:html>

helloOut.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ 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>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:html>
 <head>
  <title></title>
  <html:base />
 </head>
 <body bgcolor="white">
  <bean:write name="helloForm" property="mybeanvariable1" />
 </body>
 </html:html>
</body>
</html:html>

3、新建form bean(HelloForm.java)和action bean(HelloAction.java),分別如下:

HelloForm.java

package com.sql.struts;
import org.apache.struts.action.ActionForm;

public class HelloForm extends ActionForm 
{
        private String mybeanvariable1;
        public String getMybeanvariable1()
        {
            return (this.mybeanvariable1);
        }
        public void setMybeanvariable1(String mybeanvariable1)
        {
            this.mybeanvariable1=mybeanvariable1;
        }
}

HelloAction.java

package com.sql.struts;

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 final class HelloAction extends Action{
 public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception
  {
   HelloForm myform = (HelloForm) form;
   String s=null;
   try{
    String variable1 = myform.getMybeanvariable1();
    byte temp[]= variable1.getBytes("ISO-8859-1");
    s=new String(temp);       
   }catch(Exception e){}
   try{
    if (s.trim().equals("")){
     return new ActionForward(mapping.getInput());
    }
    else{
     myform.setMybeanvariable1(s);
     return (mapping.findForward("success"));   
    }
   }
   catch (Exception e){
    throw new RuntimeException(e.getMessage());
   }
  }
}

4、修改struts-config.xml,內容如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
          "
http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
  <form-beans>
   <form-bean  name="helloForm"  type="com.sql.struts.HelloForm"   />
</form-beans>
  <action-mappings>
  <action  path="/helloAction"  
   type="com.sql.struts.HelloAction"
            name="helloForm"                 
            scope="request"
            input="/hello.jsp">
 <forward name="success"   path="/helloOut.jsp"   />
</action>
</action-mappings>
</struts-config>


完成後的項目結構如下圖所示:

最後在MyEclipse中加載項目,然後啓動服務器(tomcat),在MyEclipse自帶的瀏覽器中輸入:

http://localhost:8089/suan_struts01/hello.jsp   即可看到前面的運行效果。

好累呀,下次再給大家寫,(由於也是剛開始學STRUTS,所以還請各位賜教啊!!)

輸入頁面:



輸出頁面:



[步驟]

1、打開MyEclipse開發環境(安裝配置可參考我前面的教程)。
新建一個WEB項目“suan_struts01”,並且導入struts相關資料包,具體方法是見下圖:

2、右鍵選擇項目新建兩個JSP文件“hello.jsp”、“helloOut.jsp”,具體內容如下:

hello.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ 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>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:form action="/helloAction.do" method="post">
  <html:text property="mybeanvariable1" />
  <html:submit value="提交" />
  <html:reset value="重寫" />
 </html:form>
</body>
</html:html>

helloOut.jsp

<%@ page contentType="text/html;charset=GB2312" language="java"%>
<%@ 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>
<head>
 <title></title>
 <html:base />
</head>
<body bgcolor="white">
 <html:html>
 <head>
  <title></title>
  <html:base />
 </head>
 <body bgcolor="white">
  <bean:write name="helloForm" property="mybeanvariable1" />
 </body>
 </html:html>
</body>
</html:html>

3、新建form bean(HelloForm.java)和action bean(HelloAction.java),分別如下:

HelloForm.java

package com.sql.struts;
import org.apache.struts.action.ActionForm;

public class HelloForm extends ActionForm 
{
        private String mybeanvariable1;
        public String getMybeanvariable1()
        {
            return (this.mybeanvariable1);
        }
        public void setMybeanvariable1(String mybeanvariable1)
        {
            this.mybeanvariable1=mybeanvariable1;
        }
}

HelloAction.java

package com.sql.struts;

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 final class HelloAction extends Action{
 public ActionForward execute(ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception
  {
   HelloForm myform = (HelloForm) form;
   String s=null;
   try{
    String variable1 = myform.getMybeanvariable1();
    byte temp[]= variable1.getBytes("ISO-8859-1");
    s=new String(temp);       
   }catch(Exception e){}
   try{
    if (s.trim().equals("")){
     return new ActionForward(mapping.getInput());
    }
    else{
     myform.setMybeanvariable1(s);
     return (mapping.findForward("success"));   
    }
   }
   catch (Exception e){
    throw new RuntimeException(e.getMessage());
   }
  }
}

4、修改struts-config.xml,內容如下:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.0//EN"
          "
http://jakarta.apache.org/struts/dtds/struts-config_1_0.dtd">
<struts-config>
  <form-beans>
   <form-bean  name="helloForm"  type="com.sql.struts.HelloForm"   />
</form-beans>
  <action-mappings>
  <action  path="/helloAction"  
   type="com.sql.struts.HelloAction"
            name="helloForm"                 
            scope="request"
            input="/hello.jsp">
 <forward name="success"   path="/helloOut.jsp"   />
</action>
</action-mappings>
</struts-config>


完成後的項目結構如下圖所示:

最後在MyEclipse中加載項目,然後啓動服務器(tomcat),在MyEclipse自帶的瀏覽器中輸入:

http://localhost:8089/suan_struts01/hello.jsp   即可看到前面的運行效果。

好累呀,下次再給大家寫,(由於也是剛開始學STRUTS,所以還請各位賜教啊!!)

發佈了38 篇原創文章 · 獲贊 0 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章