struts2多文件上传我想只要会用struts2的朋友都不会陌生,但是怎么在action中根据用户上传的文件把文件路径写到数据库中对应的字段上呢?ps:我的意思是这样,页面上有固定的5个上传文件的input,这5个文件都为可选项。如果这5个文件都上传或者都不上传或者按顺序上传的话,数据库中这5个文件名都能和前台选择上传的文件的文件名对应;但是如果上传的是第1、3、5这三个文件,或者任意的几个文件,数据库中记录的文件名是(前面的是数据库中字段名,后面是上传空间input的value)1-->1、2-->3、3-->5、4-->null、5-->null,这样就会发生文件读取混乱错误。
我在项目中是这样解决的:既然5个文件是固定的,那么我们就可以通过js来动态创建type为hidden的隐藏域,隐藏域的name和model层的属性名称对应,那么在后台就可以取得这五个文件的名称了。
这个js文件绑定到上传控件的onchange事件上,当选择文件后创建一个hidden
function changeFile(objectID){//上傳文件發生變化時執行
var o=$("#"+objectID);
var filePath=o.val();//获取上传文件的在本地的绝对路劲
var index=filePath.lastIndexOf("\\");//获取最后一个\在该绝对路径的坐标
var fileLength=filePath.length;//获取绝对路劲的长度
var fileName=filePath.substring(index+1,fileLength);//截取该绝对路径的文件名称,包括扩展名
$("#formID").append("<input type=\"hidden\" name=\"road."+objectID+"\" value=\""+fileName+"\">");
}
<input type="file" name="kmlFile" id="viewkml" size="60" onchange="changeFile('viewkml')">
分享到:
相关推荐
4. **实体类和映射文件**:在Hibernate中,每个数据库表对应一个Java实体类,实体类的属性与表的字段一一对应。同时,需要编写对应的.hbm.xml映射文件,定义实体类与数据库表的映射关系。 5. **Action类和结果视图*...
1. **实体类(Entity)**: 表示留言的信息,如留言ID、用户名、内容、时间等,这些字段通常会与数据库中的表字段一一对应。 2. **Hibernate配置文件**: 配置数据库连接信息,以及实体类与表的映射。 3. **DAO(Data ...
Struts2、 Jasper 和 iReport 是Java开发领域中用于创建动态和复杂的报表的重要工具。Struts2是一个基于MVC(模型-视图-控制器)架构的Web应用框架,它为开发者提供了一种组织和控制应用程序逻辑的方式。...
实体类通常是Java对象,它们与数据库表一一对应,通过注解或XML文件描述它们的属性与数据库字段的映射关系。 在开发过程中,开发者通常会使用IDE(如Eclipse、IntelliJ IDEA)和Maven或Gradle等构建工具进行项目...
在生成了实体类和映射文件后,你需要定义实体类的属性,确保它们与数据库表的字段一一对应。同时,映射文件描述了数据库表和Java类之间的关系,包括列名、类型、主键策略等。主键生成策略有很多种,如identity、...
同时,确保数据库中的表结构与实体类匹配,例如,实体类Admin的属性应与数据库表admin的字段一一对应。 **5. Maven项目结构** 在bishe045这个项目中,很可能使用了Maven作为构建工具。Maven帮助管理项目的依赖,...
在传统的Struts应用中,表单字段通常与ActionForm类中的属性一一对应,但在某些情况下,如数据库记录的增删改查或者用户自定义配置等场景,表单字段的数量可能会变化,这时StrutsDynForm就能派上用场。 Struts ...
持久化类通常包含与数据库表字段一一对应的私有变量,如`customerId`、`account`、`password`等,并提供了getter和setter方法。这些类需要实现`Serializable`接口,以支持对象的序列化和反序列化。 4. **Hibernate...
- **域对象层**:代表具体的数据实体,如学生或教师等,与数据库中的表一一对应。 - **数据持久层**:使用Hibernate通过Spring进行封装,处理所有与数据库相关的操作,如增删改查(CRUD)。 - **业务逻辑层**:通过...
VSStrus工具则为开发者提供了一个便捷的方式,将数据库中的数据表映射到Java类,每个类包含了与表字段一一对应的私有属性以及用于读写的getter和setter方法。这样,开发者无需手动编写这些基本的类结构,提高了开发...
每个表通常对应一个Java类,而类的属性与表的字段一一对应。`.hbm.xml`文件描述了这些映射关系,使得Hibernate能够根据这些映射自动处理数据库操作。 5. **配置文件详解**: - `struts-config.xml`:定义了Struts...
通过Hibernate的映射,这些表对应为Java类,类的属性与表的字段一一对应,通过Session接口进行操作。 **系统流程** 1. 用户通过浏览器发送请求,如搜索音乐。 2. Struts框架接收到请求,根据配置文件解析出对应的...
- **ActionForm**:用于封装用户的请求参数,通常与 JSP 表单中的字段一一对应。 - **Action**:实现了业务逻辑的类,负责处理 ActionForm 中的数据并返回一个结果。 #### 6. Struts-config.xml 中的 ActionForm 和...
通过MyBatis的映射文件,可以将Java对象和数据库表字段一一对应,实现SQL动态执行,提高灵活性。同时,数据库优化也是必不可少的,如合理设置索引、优化查询语句,确保系统的高效运行。 此外,系统的权限管理也是...
实体类的属性与数据库字段一一对应,通过注解或XML配置进行映射。 4. **CRUD操作**:Hibernate支持创建(Create)、读取(Retrieve)、更新(Update)和删除/Delete)用户信息。例如,登录时,我们可以根据用户名查找用户...
这些类通常包含了属性,与数据库字段一一对应,并提供了getter和setter方法,便于操作数据。 2. **生成Mapper接口和XML映射文件**:MBG可以生成Mapper接口以及对应的XML映射文件,这些文件定义了SQL查询和操作,如...
确保实体类与数据库表的字段一一对应。 运行时,MyEclipse的Tomcat插件可以方便地启动和调试应用。info.jsp文件可能是应用中的一个信息展示页面,位于Web应用的根目录下,用于输出一些基本信息。而META-INF和WEB-...
在LeaveApplication项目中,每个Java实体类对应数据库中的一个表,实体类的属性与表的字段一一对应。通过Hibernate的Session接口,我们可以方便地进行CRUD(创建、读取、更新、删除)操作。hibernate.cfg.xml文件...
通过配置Hibernate的XML映射文件,可以将数据库表与Java对象一一对应,实现数据的自动持久化。例如,Student类映射到学生表,其属性对应表中的字段,使用SessionFactory创建会话,执行CRUD操作。 然后,Struts2作为...
2. 数据库表设计:在Oracle9i中创建对应的商品表,字段与实体类属性一一对应。 3. Struts2配置:定义Action类,每个方法对应一个CRUD操作,并在struts.xml文件中配置相关映射。 4. Spring配置:设置数据源、事务管理...