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

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

起初的工程(未引入Struts)目录结构如下:

修改你的web.xml配置

如下:

修改之前是:

estservletaction.JDBCServletestservlet/estservletdelconadaction.delConadBeandelconad/delconad

加入:

action

org.apache.struts.action.ActionServlet

config

/WEB-INF/struts-config.xml

debug

2

detail

2

validate

true

2

标准Struts .do请求--action*.do

/WEB-INF/struts-bean.tld

/WEB-INF/struts-bean.tld

/WEB-INF/struts-html.tld

/WEB-INF/struts-html.tld

/WEB-INF/struts-logic.tld

/WEB-INF/struts-logic.tld

/WEB-INF/struts-template.tld

/WEB-INF/struts-template.tld

/WEB-INF/struts-nested.tld

/WEB-INF/struts-nested.tld

/WEB-INF/struts-tiles.tld

/WEB-INF/struts-tiles.tld

引入Struts所需的标签库

引入目录结构如下:(配置文件描述)

在工程中引入Struts工程所需的.jar文件

目录结构如下:

引入资源文件:

ApplicationResources.properties

内容如下:

# -- buttons --button.submit=Submitbutton.cancel=Cancelbutton.confirm=Confirmbutton.reset=Resetbutton.save=Save

现在编写一个测试代码:

编写一个提交数据库的表单jsp文件useStruts.jsp:

如下:

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

用户:

密码:

标题:

内容:

作者:

修改Struts-config.xml文件:

type="action.preUsestrutsAction">

type="action.ProcessUseStrutsAction"name="usestrutsForm"scope="request"input="/jsp/useStruts.jsp"validate="true">

创建两个Action:

preUsestrutsAction.java 、ProcessUseStrutsAction.java

preUsestrutsAction.java:

代码如下:

/* * $Header: d:/cvs/repository/struts-examples/Web\040Content/WEB-INF/src/java/examples/SuccessAction.java,v 1.2 2003/06/13 06:23:13 sraeburn Exp $ * $Revision: 1.2 $ * $Date: 2005/11/25 06:23:13 $ * 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 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;

/** *

* @author huhpreal * @version $Revision: 1.2 $ $Date: 2003/06/13 06:23:13 $ */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 mapping.findForward 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 mapping.findForward("success");

}}

ProcessUseStrutsAction.java:

代码如下:

/* * $Header: d:/cvs/repository/struts-examples/Web\040Content/WEB-INF/src/java/examples/dyna/ProcessDynaAction.java,v 1.3 2003/06/22 04:51:04 sraeburn Exp $ * $Revision: 1.3 $ * $Date: 2005/11/25 04:51:04 $ * * 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 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;

import org.apache.struts.action.DynaActionForm;

import bean.Linkdb;

/** * Retrieve and process data from the submitted form

* * @author huhpreal * @version $Revision: 1.3 $ $Date: 2005/11/25 04:51:04 $ */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 {

System.out.println("enter into ProcessUseStrutsAction");

if (isCancelled(request)) {

return mapping.findForward("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 (title,content,author) values('"+title+"','"+content+"','"+author+"')";

linkdb.executeUpdate(sqlstr);

// Forward to result page

return mapping.findForward("success");

}}

测试结果:

测试成功!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航