Struts 1 学习笔记-4-1(Struts动态表单的测试以及上传文件的应用)
来源:互联网 发布:淘宝店铺客服话术大全 编辑:程序博客网 时间:2024/06/08 10:31
一.使用Struts的动态表单可以免去再编写一个ActionForm的步骤,在有些地方比较适合使用
1.首先编写一个简单的前台输入界面index.jsp:
<%...@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试ActionForm</h1>
<hr>
<li>测试Struts动态表单</li><br>
<form action="dynaticformtext.do">
Name : <input type="text" name="name"><br>
Age : <input type="text" name="age"><br>
<input type="submit" value="sumbit">
</form>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试ActionForm</h1>
<hr>
<li>测试Struts动态表单</li><br>
<form action="dynaticformtext.do">
Name : <input type="text" name="name"><br>
Age : <input type="text" name="age"><br>
<input type="submit" value="sumbit">
</form>
</body>
</html>
2.编写Struts-config.xml(注意form-bean中type的路径,以及form-property的配置):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="dynaticActionForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
</form-bean>
</form-beans>
<action-mappings>
<action path="/dynaticformtext" type="com.codedestiny.struts.DynaticActionFormTestAction" name="dynaticActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="dynaticActionForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
</form-bean>
</form-beans>
<action-mappings>
<action path="/dynaticformtext" type="com.codedestiny.struts.DynaticActionFormTestAction" name="dynaticActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
3.DynaticActionFormTestAction.java:(注意其中的数据在取出是要进行相应的格式转换)
package com.codedestiny.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;
import org.apache.struts.action.DynaActionForm;
public class DynaticActionFormTestAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
DynaActionForm daf = (DynaActionForm)form;
String name = (String)daf.get("name");
int age = (Integer)daf.get("age");
System.out.println("Name : " + name);
System.out.println("age : " + age);
return mapping.findForward("success");
}
}
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;
public class DynaticActionFormTestAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
DynaActionForm daf = (DynaActionForm)form;
String name = (String)daf.get("name");
int age = (Integer)daf.get("age");
System.out.println("Name : " + name);
System.out.println("age : " + age);
return mapping.findForward("success");
}
}
二.Struts的文件上传的测试:
注意:在Struts中file的类型为FormFIle,这一点要切记。还有form的提交方式要为post,enctype="multipart/form-data"
1.index.jsp:
<%...@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试ActionForm</h1>
<hr>
<li>测试Struts动态表单</li><br>
<form action="dynaticformtext.do">
Name : <input type="text" name="name"><br>
Age : <input type="text" name="age"><br>
<input type="submit" value="sumbit">
</form>
<hr>
<li>测试Struts文件上传</li><br>
<form action="upload.do" method="post" enctype="multipart/form-data">
<input type="file" name="myFile"><br>
<input type="text" name="title"><br>
<input type="submit" value="upload">
</form>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<h1>测试ActionForm</h1>
<hr>
<li>测试Struts动态表单</li><br>
<form action="dynaticformtext.do">
Name : <input type="text" name="name"><br>
Age : <input type="text" name="age"><br>
<input type="submit" value="sumbit">
</form>
<hr>
<li>测试Struts文件上传</li><br>
<form action="upload.do" method="post" enctype="multipart/form-data">
<input type="file" name="myFile"><br>
<input type="text" name="title"><br>
<input type="submit" value="upload">
</form>
</body>
</html>
2.编写ActionForm : UploadActionForm.java
package com.codedestiny.struts;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadActionForm extends ActionForm ...{
private FormFile myFile; // the type of file must be FormFile
private String title;
public FormFile getMyFile() ...{
return myFile;
}
public void setMyFile(FormFile myFile) ...{
this.myFile = myFile;
}
public String getTitle() ...{
return title;
}
public void setTitle(String title) ...{
this.title = title;
}
}
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadActionForm extends ActionForm ...{
private FormFile myFile; // the type of file must be FormFile
private String title;
public FormFile getMyFile() ...{
return myFile;
}
public void setMyFile(FormFile myFile) ...{
this.myFile = myFile;
}
public String getTitle() ...{
return title;
}
public void setTitle(String title) ...{
this.title = title;
}
}
3.UploadAction.java:
package com.codedestiny.struts;
import java.io.FileOutputStream;
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.upload.FormFile;
public class UploadAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
UploadActionForm uaf = (UploadActionForm)form;
FormFile myFile = uaf.getMyFile();
String title = uaf.getTitle();
System.out.println("Title : " + title);
if(myFile != null) ...{
System.out.println("MyFile : " + myFile.getFileName());
FileOutputStream fos = new FileOutputStream("c:/" + myFile.getFileName());
fos.write(myFile.getFileData());
fos.flush();
fos.close();
}
return mapping.findForward("success");
}
}
import java.io.FileOutputStream;
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.upload.FormFile;
public class UploadAction extends Action ...{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception ...{
UploadActionForm uaf = (UploadActionForm)form;
FormFile myFile = uaf.getMyFile();
String title = uaf.getTitle();
System.out.println("Title : " + title);
if(myFile != null) ...{
System.out.println("MyFile : " + myFile.getFileName());
FileOutputStream fos = new FileOutputStream("c:/" + myFile.getFileName());
fos.write(myFile.getFileData());
fos.flush();
fos.close();
}
return mapping.findForward("success");
}
}
4.struts-config.xml:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="dynaticActionForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
</form-bean>
<form-bean name="uploadActionForm" type="com.codedestiny.struts.UploadActionForm">
</form-bean>
</form-beans>
<action-mappings>
<action path="/dynaticformtext" type="com.codedestiny.struts.DynaticActionFormTestAction" name="dynaticActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
<action path="/upload" type="com.codedestiny.struts.UploadAction" name="uploadActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<form-beans>
<form-bean name="dynaticActionForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="name" type="java.lang.String"></form-property>
<form-property name="age" type="java.lang.Integer"></form-property>
</form-bean>
<form-bean name="uploadActionForm" type="com.codedestiny.struts.UploadActionForm">
</form-bean>
</form-beans>
<action-mappings>
<action path="/dynaticformtext" type="com.codedestiny.struts.DynaticActionFormTestAction" name="dynaticActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
<action path="/upload" type="com.codedestiny.struts.UploadAction" name="uploadActionForm" scope="request">
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
- Struts 1 学习笔记-4-1(Struts动态表单的测试以及上传文件的应用)
- Struts 1 学习笔记-4-4(Struts中ActionForward的测试)
- Struts 1 学习笔记-4-2(Struts中提交空字段的测试)
- Struts 1 学习笔记-4-5(Struts中ActionMapping的测试)
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts的动态表单的应用
- Struts2学习笔记(1)struts的配置以及流程
- Struts 1 学习笔记-5-3(Struts的自动处理异常以及模式套用)
- Struts 1 学习笔记-5-1(Struts中I18N的简单测试)
- Struts 1 学习笔记-2-2(Struts标签的测试用例)
- Struts学习笔记1(Struts的下载和安装)
- struts的学习笔记-1
- Struts的文件上传
- “工作流”与“业务流程管理”两个领域的关系
- SQL SERVER的数据类型 转载
- 投资理财:成长股的三大诞生路径
- 情人节寄语
- C和C++中的日期和时间(为初学者收藏的文章)
- Struts 1 学习笔记-4-1(Struts动态表单的测试以及上传文件的应用)
- 程序员怎样学数学
- RC4加密算法在C++中的实现
- 10个最可能阻碍你成为富人的原因
- vista是不是有点过分了?
- Unix中sed用法
- sql 2005 创建动态数据报表的整个流程分析.
- Glassfish 安装 部署
- 选择按钮(全选与反选)