我是一个使用struts2文件上传和我的动作类包含3私人文件与getter和setters
private File myFile;
private String myFileFileName;
private String myFileContentType;
我有一些疑问要澄清
>
每当我使用myFileVariableName“FileName”(如果文件变量是myFile,那么文件名变量是MyFileFileFileName,如果文件是xxx,那么文件名是xxxFileName),我就会得到输出,如果我对此格式(即myFileVariableName“FileName”)进行任何更改,它就会变为null。是否必须使用此格式?我能把它改成我想要的名字吗?如果是,那怎么办?
要获取内容类型,我应该使用jst“contentType”或myfileVariableName“contentType”。这也是强制性的吗?
我假设,如果我使用一个单独的bean来存储我的请求变量,那么所有参数都绑定到该bean变量。但是在文件上传的情况下,只有文件变量ie,在本例中,myFile只在bean中获取和设置。fileFileName和contentType为空。如果我直接在action类中声明这些变量,那么我就会得到这些值,但是每当我使用一个单独的bean时,只有File变量可以得到和设置,另外两个都是null。为什么?
如果我使用ModelDriven,同样的情况也会发生,我只能得到File变量,其他两个变量为null。为什么?
我只是在我的struts.xml中扩展了“struts-默认”,没有单独的文件上传配置,因为它在我的问题中没有显示任何效果。
用于文件上载的操作类,声明一个文件变量来存储用户上载的文件,两个字符串变量来存储文件名和内容类型。fileUpload拦截器将通过设置“X”ContentType()和设置“X”FileName()自动注入上载的文件详细信息,确保方法名称拼写正确。
文件上传功能取决于“fileUpload拦截器”,确保它包含在操作堆栈中。幸运的是,默认堆栈已经包含“fileUpload拦截器”。
字段userImageContentType和userImageFileName是可选的。如果提供了这些字段的setter方法,struts2将设置数据。这只是为了获取上传文件的一些额外信息。如果您提供内容类型和文件名字符串,请遵循命名标准。名称应为ContentType和FileName。
例如,如果action file中的file属性为private file uploadedFile,则内容类型将为uploadedFileContentType和文件名UploadedFileFileFileFileName。
Struts 2中的Get-Set行为:为变量赋值,而不是属性值。例如
public class SetTagAction extends ActionSupport{
private String msg;
public String setMsg(String msg) {
this.msg = msg;
}
<s:set var="msg" value="%{'this is a message'}" />
许多Struts 2开发人员认为set标签var="msg"将通过setMsg()方法将值分配给相关的操作类。
这是错误的,set标记不会调用setMsg()方法,它只会将“value”分配给名为“msg”的变量,而不是操作的属性值。
主要内容:创建视图文件:,创建action类:,配置文件:,错误消息:Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传。上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失。 请注意,服务器有一个安全策略可能会禁止写到目录以外的临时目录和属于web应用的目录。 在Struts中的文件上传是通过预先定义的拦截文件上传拦截器这是可通过org.apache.struts2.in
主要内容:1. 动作类,2. 结果页面,3. struts.xml,4. 示例,参考在Struts2, <s:file> 标签用于创建一个HTML文件上传组件,允许用户从本地磁盘选择文件,并将其上传到服务器。在本教程中,您将创建与文件上传组件JSP页面,设置最大大小和允许上传文件的内容类型,并显示上传文件的详细信息。 这里创建一个Web工程:strut2uploadfile,来演示在多个复选框如何设置的默认值,整个项目的结构如下图所示: 1. 动作类 Action类的文件上传,声
本文向大家介绍struts2实现多文件上传,包括了struts2实现多文件上传的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了struts2实现多文件上传的具体代码,供大家参考,具体内容如下 首先搭建好struts2的开发环境,导入struts2需要的最少jar包 新建upload.jsp页面,注意一定要把表单的enctype设置成multipart/form-data 新建一个Up
本文向大家介绍Struts2+uploadify多文件上传实例,包括了Struts2+uploadify多文件上传实例的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Struts2+uploadify多文件上传的具体代码,供大家参考,具体内容如下 首先我这里使用的是 Jquery Uploadify3.2的版本 导入相关的CSS JS 接下来是 上传的 JSP 页面代码
主要内容:1. 动作类,2. 结果页面,3. struts.xml,4. 示例,参考在上章节Struts2 文件上传示例, 用户允许选择一个文件并上传到服务器。在本教程中,您将学习如何允许用户将多个文件上传到服务器。 这里创建一个Web工程:strut2uploadfiles,来演示在多个复选框如何设置的默认值,整个项目的结构如下图所示: 1. 动作类 在Action类,可以使用列表或数组以存储上传的文件。 FileUploadAction.java 2. 结果页面 使用<s:f
本文向大家介绍Struts2实现文件上传功能,包括了Struts2实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 Servlet 3.0规范的HttpServletRequest已经提供了方法来处理文件上传但这种上传需要在Servlet中完成。而Struts2则提供了更简单的封装。 Struts2默认使用的是Jakarta的Common-FileUpload的文件上传框架,因此使用Str