[目标]
实现一个最简单的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,所以还请各位赐教啊!!)