熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

如何在Web工程項目中使用Struts

2022-06-13   來源: Java開源技術 

  起初的工程(未引入Struts)目錄結構如下
  
  修改你的webxml配置
  
  如下
  
  修改之前是
  estservletactionJDBCServletestservlet/estservletdelconadactiondelConadBeandelconad/delconad
  
  加入
  
  action
  orgapachestrutsactionActionServlet
  
  

  config


  

  /WEBINF/strutsconfigxml


  

  
  

  debug


  

  


  

  
  

  detail


  

  


  

  
  

  validate


  

  true


  

  
action*do
  /WEBINF/strutsbeantld
  /WEBINF/strutsbeantld
  

  
  /WEBINF/strutshtmltld
  /WEBINF/strutshtmltld
  

  
  /WEBINF/strutslogictld
  /WEBINF/strutslogictld
  

  
  /WEBINF/strutstemplatetld
  /WEBINF/strutstemplatetld
  

  
  /WEBINF/strutsnestedtld
  /WEBINF/strutsnestedtld
  

  
  /WEBINF/strutstilestld
  /WEBINF/strutstilestld
  

  
  引入Struts所需的標簽庫
  
  引入目錄結構如下(配置文件描述)
  
  在工程中引入Struts工程所需的jar文件
  
  目錄結構如下
  
  引入資源文件
  ApplicationResourcesproperties
  
  內容如下
  # buttons buttonsubmit=Submitbuttoncancel=nfirm=Confirmbuttonreset=Resetbuttonsave=Save
  
  現在編寫一個測試代碼
  
  編寫一個提交數據庫的表單jsp文件useStrutsjsp
  
  如下
    transitionaldtd><%@ page language="java" contentType="text/html; charset=utf-8" %><%@ taglib url="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib url="/WEB-INF/struts-bean.tld" prefix="bean" %>

  用戶

  密碼

  標題:

  內容:

  作者:

修改Strutsconfigxml文件
  
  
  
  
  
  
  
  

  

  
  
    type=actionpreUsestrutsAction>
  
  
    type=actionProcessUseStrutsAction
  name=usestrutsForm
  scope=request
  input=/jsp/useStrutsjsp
  validate=true>
  
  
  
  
  創建兩個Action
  preUsestrutsActionjava ProcessUseStrutsActionjava
  preUsestrutsActionjava:
  
  代碼如下
  /* * $Header: d:/cvs/repository/strutsexamples/Web\Content/WEBINF/src/java/examples/SuccessActionjavav // :: sraeburn Exp $ * $Revision: $ * $Date: // :: $ * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation For more * information on the Apache Software Foundation please see * * by huhpreal */package action;import javaxservlethttpHttpServletRequest;
  import javaxservlethttpHttpServletResponse;
  import orgapachestrutsactionAction;
  import orgapachestrutsactionActionForm;
  import orgapachestrutsactionActionForward;
  import orgapachestrutsactionActionMapping;
  /** * * @author huhpreal * @version $Revision: $ $Date: // :: $ */public class preUsestrutsAction extends Action {
  // Constructors
  /**
  * Constructor for SuccessAction
  */
  public preUsestrutsAction() {
  super();
  }
  // Action Methods
  /**
  * @param mapping The ActionMapping used to select this instance
  * @param form The optional ActionForm bean for this request (if any)
  * @param request The HTTP request we are processing
  * @param response The HTTP response we are creating
  *
  * @exception Exception if mappingfindForward throws an Exception
  *
  * @return the success ActionForward or null if it cannot be found
  */  public ActionForward execute(
  ActionMapping mapping
  ActionForm form
  HttpServletRequest request
  HttpServletResponse response)
  throws Exception {
  return mappingfindForward(success);
  }}
  
  ProcessUseStrutsActionjava
  
  代碼如下
  
  /* * $Header: d:/cvs/repository/strutsexamples/Web\Content/WEBINF/src/java/examples/dyna/ProcessDynaActionjavav // :: sraeburn Exp $ * $Revision: $ * $Date: // :: $ * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation For more * information on the Apache Software Foundation please see * */package action;
  import javaxservlethttpHttpServletRequest;
  import javaxservlethttpHttpServletResponse;
  import orgapachestrutsactionAction;
  import orgapachestrutsactionActionForm;
  import orgapachestrutsactionActionForward;
  import orgapachestrutsactionActionMapping;
  import orgapachestrutsactionDynaActionForm;
  import beanLinkdb;
  /** * Retrieve and process data from the submitted form
  * * @author huhpreal * @version $Revision: $ $Date: // :: $ */public class ProcessUseStrutsAction extends Action {
  // Constructors
  /**   * Constructor for ProcessOptionsAction
  */
  public ProcessUseStrutsAction() {
  super();
  }
  /**
  * @param mapping The ActionMapping used to select this instance
  * @param form The optional ActionForm bean for this request (if any)
  * @param request The HTTP request we are processing
  * @param response The HTTP response we are creating
  *
  * @exception Exception if the application logic throws an exception
  *
  * @return the ActionForward for the next view
  */
  public ActionForward execute(
  ActionMapping mapping
  ActionForm form
  HttpServletRequest request
  HttpServletResponse response)
  throws Exception {
  Systemoutprintln(enter into ProcessUseStrutsAction);
  if (isCancelled(request)) {
  return mappingfindForward(home);
  }
  /**
  * 獲取表單信息
  * 這裡最好用Bean實體封裝
  * 時間關系就不提取
  */
  String user=new String();
  String password=new String();
  String title=new String();
  String content=new String();
  String author=new String();
  user=(String) ((DynaActionForm) form)get(user);
  password=(String) ((DynaActionForm) form)get(password);
  title=(String) ((DynaActionForm) form)get(title);
  content=(String) ((DynaActionForm) form)get(content);
  
  author=(String) ((DynaActionForm) form)get(author);
  /***
  * 數據庫操作
  */
  Linkdb linkdb=new Linkdb();
  String sqlstr=insert into conad (titlecontentauthor) values(+title++content++author+);
  linkdbexecuteUpdate(sqlstr);
  // Forward to result page
  return mappingfindForward(success);
  }}
  
  測試結果
  
  測試成功!
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28372.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.