配置好了,那么我们一起用MyEclipse来做一个小小的Struts应用吧。 
1.新建Struts Project   File-->New-->Project   选择J2EE-->Web Project,确定,起个名字,这里就叫demoStruts,然后Finish. 
2.“升级”project    选中左边列表中你刚才建立的demoStruts工程,点击菜单栏MyEclipse-->Add Struts Capabilities 设置属性,一般都默认,可以改下你的package的目录结构。“升级”后的project相当于struts-blank 的结构。 
3.开始写程序,这些是我自己对程序的理解,可能不科学,不过应该可以让struts更好懂。 这个小程序判断输入的产品是否存在,并且出现2种不同的情况。 首先先说这2个xml配置文件。 
web.xml 基本上不用动的,在MyEclipse里面还有design图,非常方便阅读。 如果你喜欢有个性,可以把servlet-mapping 里的url-pattern改为你喜欢的后缀,这里就不改了,嘿嘿。 
struts-config.xml 这是struts里面最主要的配置文件,一定要细心的写,以前我少了个“/”,结果运行就出现问题了,惨啊! 初期这里最主要是定义<form-beans> <global-forwards> <action-mappings>. 
<form-beans>是指定需要提交的表单需要送到哪里。 这里我们定义 <!-- ================================================ Form Bean Definitions -->     <form-beans>           <form-bean             name="DemoForm"             type="com.yourcompany.struts.DemoForm"/>     </form-beans> 
<global-forwards>是定义在程序里面需要跳转到哪个页面的。 <!-- =========================================== Global Forward Definitions -->     <global-forwards>         <forward name="failedIn" path="/failedIn.do"/>         <forward name="inputProduct" path="/inputProduct.jsp"/>     </global-forwards> 
<action-mappings>也是定义跳转到什么页面,但不同的是程序在遇到*.do的情况下才会用<action-mappings> <!-- =========================================== Action Mapping Definitions -->     <action-mappings>                  <action path="/inputProduct" type="com.yourcompany.struts.CheckAction" name="DemoForm" scope="request" input="/index.jsp" />  <action path="/aboutUS" forward="/aboutus.jsp" />   <action path="/failedIn" forward="/alreadyExist.jsp" />       </action-mappings> 
大家仔细看下也可以看到,如果程序逻辑运算后是alreadyExist,通过<global-forwards>转向 failedIn.do,然后由于是*.do的形式,又要按<action-mappings> 跳转到/alreadyExist.jsp。 
把这些代码替换struts-config.xml里的相应部分吧,然后看看这个xml文件的design,非常清楚哦。 
 下面制作jsp文件。 在MyEclipse里面WebRoot下建立4个jsp文件。 第1个是首页和表单(index.jsp)。 
<%@ page contentType="text/html;charset=GBK" language="java" %>  <%@ page import = "com.yourcompany.struts.*" %>  <a href="aboutUS.do">关于我们</a><br>  <form action="inputProduct.do" method="post">  产品 I D:<input type="text" name="productId"><br>  <input type=submit value="检测产品">  </form>  
第2个文件是关于我们(aboutus.jsp) 
<%@ page contentType="text/html;charset=GBK" language="java" %>  <h1>关于我们。。。。。。。。。。。。</h1> 
第3个文件是如果里面有产品的情况,并显示产品属性。(alreadyExist.jsp) 
<%@ page contentType="text/html; charset=GBK" language="java" %>  <jsp:useBean id="beanProduct" class="com.yourcompany.struts.DemoForm" scope="session"/>  库内有此产品<br> 产品ID:<%=beanProduct.getProductId()%><br>  产品名称:<%=beanProduct.getProductName()%><br>  
第4个文件是显示库里面没有这样的产品(inputProduct.jsp) 
<%@ page contentType="text/html; charset=GBK" language="java" %>  库内没有该产品! 
 最后是DemoForm和DemoAction 在src的com.yourcompany.struts下新建2个java文件 DemoForm.java 
package com.yourcompany.struts; import org.apache.struts.action.ActionForm; public class DemoForm extends ActionForm{  private String productId="001";  private String productName="Structs程序";   public String getProductId(){return productId;}  public String getProductName(){return productName;}  public void setProductId(String productId){this.productId=productId;}  public void setProductName(String productName){this.productName=productName;} } 
 DemoAction.java package com.yourcompany.struts; import java.util.Locale; import javax.servlet.*; import javax.servlet.http.*; import org.apache.struts.action.*; import org.apache.struts.util.MessageResources; import com.yourcompany.struts.DemoForm; public final class DemoAction extends Action{  public ActionForward execute    (ActionMapping mapping,ActionForm form,    HttpServletRequest request,    HttpServletResponse response)    throws Exception    {    Locale locale = getLocale(request);    MessageResources messages = getResources(request);    HttpSession session = request.getSession();    DemoForm demoform = (DemoForm) form;  
  if( "001".equals(demoform.getProductId()) )    return (mapping.findForward("failedIn"));    else return (mapping.findForward("inputProduct"));    }  
} 
 程序准备就绪了,然后点击菜单上的Deploy J2EE project to server 选择demoStruts,点add.选择tomcat deploy. 就ok了,程序自动填加到了tomcat的webapps下。你可以启动tomcat用ie访问了或者 运行myeclipse里面的tomcat,然后用自带的WebBrowser运行程序。 http://localhost:8080/demoStruts/index.jsp 当输入001,那么就进入显示已有产品的页面,如果输入其他则提示没有这个产品。 
  
  
   
 
  |