[目標]
實現一個最簡單的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,所以還請各位賜教啊!!)