当前页面: 开发资料首页 → JSP 专题 → 在Web工程项目中使用Struts
摘要: Web应用开发,在Web工程项目中使用Struts。
起初的工程(未引入Struts)目录结构如下: 用户: 密码: 标题: 内容: 作者:
修改你的web.xml配置
如下:
修改之前是:
<?xml version="1.0" encoding="UTF-8"?>
web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
加入:
Action Servlet Configuration 标准Struts Action Servlet 配置
引入Struts所需的标签库
引入目录结构如下:(配置文件描述)
在工程中引入Struts工程所需的.jar文件
目录结构如下:
引入资源文件:
ApplicationResources.properties
内容如下:
# -- buttons --button.submit=Submitbutton.cancel=Cancelbutton.confirm=Confirmbutton.reset=Resetbutton.save=Save
现在编写一个测试代码:
编写一个提交数据库的表单jsp文件useStruts.jsp:
如下:
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@
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" %>
<form-bean name="usestrutsForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="user" type="java.lang.String"
/>
<form-property name="password" type="java.lang.String"
/>
<form-property name="title" type="java.lang.String"
/>
<form-property name="content" type=" java.lang.String
" />
<form-property name="author" type="java.lang.String"
/>
</form-bean>
</form-beans>
=============================
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 *
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");
}}
测试结果:
测试成功!