`
段海波
  • 浏览: 318310 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2解决动态多文件上传的问题(上传文件与数据库字段一一对应)

    博客分类:
  • j2ee
阅读更多

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')">
 
分享到:
评论
1 楼 a455642158 2013-05-29  
谢谢,没写在jsp,写到java类里去了……

相关推荐

    Struts2+hibernate示例

    4. **实体类和映射文件**:在Hibernate中,每个数据库表对应一个Java实体类,实体类的属性与表的字段一一对应。同时,需要编写对应的.hbm.xml映射文件,定义实体类与数据库表的映射关系。 5. **Action类和结果视图*...

    Struts2+Hibernate实现的一个留言程序

    1. **实体类(Entity)**: 表示留言的信息,如留言ID、用户名、内容、时间等,这些字段通常会与数据库中的表字段一一对应。 2. **Hibernate配置文件**: 配置数据库连接信息,以及实体类与表的映射。 3. **DAO(Data ...

    struts2 jasper iReport 报表

    Struts2、 Jasper 和 iReport 是Java开发领域中用于创建动态和复杂的报表的重要工具。Struts2是一个基于MVC(模型-视图-控制器)架构的Web应用框架,它为开发者提供了一种组织和控制应用程序逻辑的方式。...

    struts+hibernate+mysql

    实体类通常是Java对象,它们与数据库表一一对应,通过注解或XML文件描述它们的属性与数据库字段的映射关系。 在开发过程中,开发者通常会使用IDE(如Eclipse、IntelliJ IDEA)和Maven或Gradle等构建工具进行项目...

    Myeclipse快速建立struts+hibernate结合的应用

    在生成了实体类和映射文件后,你需要定义实体类的属性,确保它们与数据库表的字段一一对应。同时,映射文件描述了数据库表和Java类之间的关系,包括列名、类型、主键策略等。主键生成策略有很多种,如identity、...

    jsp+Struts+hibernate基本框架搭建demo

    同时,确保数据库中的表结构与实体类匹配,例如,实体类Admin的属性应与数据库表admin的字段一一对应。 **5. Maven项目结构** 在bishe045这个项目中,很可能使用了Maven作为构建工具。Maven帮助管理项目的依赖,...

    struts_dynForm用例

    在传统的Struts应用中,表单字段通常与ActionForm类中的属性一一对应,但在某些情况下,如数据库记录的增删改查或者用户自定义配置等场景,表单字段的数量可能会变化,这时StrutsDynForm就能派上用场。 Struts ...

    javaee实验五 大学本科生 hibernate

    持久化类通常包含与数据库表字段一一对应的私有变量,如`customerId`、`account`、`password`等,并提供了getter和setter方法。这些类需要实现`Serializable`接口,以支持对象的序列化和反序列化。 4. **Hibernate...

    手把手struts2.0+hibernate3.1+spring2.0环境配置和实验指导

    - **域对象层**:代表具体的数据实体,如学生或教师等,与数据库中的表一一对应。 - **数据持久层**:使用Hibernate通过Spring进行封装,处理所有与数据库相关的操作,如增删改查(CRUD)。 - **业务逻辑层**:通过...

    VSStrus 工具(类文件生成器)

    VSStrus工具则为开发者提供了一个便捷的方式,将数据库中的数据表映射到Java类,每个类包含了与表字段一一对应的私有属性以及用于读写的getter和setter方法。这样,开发者无需手动编写这些基本的类结构,提高了开发...

    ssh框架搭建教程

    每个表通常对应一个Java类,而类的属性与表的字段一一对应。`.hbm.xml`文件描述了这些映射关系,使得Hibernate能够根据这些映射自动处理数据库操作。 5. **配置文件详解**: - `struts-config.xml`:定义了Struts...

    基于sturts+hibernate的在线音乐播放系统

    通过Hibernate的映射,这些表对应为Java类,类的属性与表的字段一一对应,通过Session接口进行操作。 **系统流程** 1. 用户通过浏览器发送请求,如搜索音乐。 2. Struts框架接收到请求,根据配置文件解析出对应的...

    珍爱网面试题-一:Struts配置及其流程 等等等

    - **ActionForm**:用于封装用户的请求参数,通常与 JSP 表单中的字段一一对应。 - **Action**:实现了业务逻辑的类,负责处理 ActionForm 中的数据并返回一个结果。 #### 6. Struts-config.xml 中的 ActionForm 和...

    基于ssm的公司人力资源管理系统源码数据库.zip

    通过MyBatis的映射文件,可以将Java对象和数据库表字段一一对应,实现SQL动态执行,提高灵活性。同时,数据库优化也是必不可少的,如合理设置索引、优化查询语句,确保系统的高效运行。 此外,系统的权限管理也是...

    个人信息登录管理

    实体类的属性与数据库字段一一对应,通过注解或XML配置进行映射。 4. **CRUD操作**:Hibernate支持创建(Create)、读取(Retrieve)、更新(Update)和删除/Delete)用户信息。例如,登录时,我们可以根据用户名查找用户...

    mybatis generator 1.3.5

    这些类通常包含了属性,与数据库字段一一对应,并提供了getter和setter方法,便于操作数据。 2. **生成Mapper接口和XML映射文件**:MBG可以生成Mapper接口以及对应的XML映射文件,这些文件定义了SQL查询和操作,如...

    maven下整合ssh源码

    确保实体类与数据库表的字段一一对应。 运行时,MyEclipse的Tomcat插件可以方便地启动和调试应用。info.jsp文件可能是应用中的一个信息展示页面,位于Web应用的根目录下,用于输出一些基本信息。而META-INF和WEB-...

    leaveApplication

    在LeaveApplication项目中,每个Java实体类对应数据库中的一个表,实体类的属性与表的字段一一对应。通过Hibernate的Session接口,我们可以方便地进行CRUD(创建、读取、更新、删除)操作。hibernate.cfg.xml文件...

    毕业设计-学生信息管理系统(s2sh )

    通过配置Hibernate的XML映射文件,可以将数据库表与Java对象一一对应,实现数据的自动持久化。例如,Student类映射到学生表,其属性对应表中的字段,使用SessionFactory创建会话,执行CRUD操作。 然后,Struts2作为...

    我做过的简单的CRUD

    2. 数据库表设计:在Oracle9i中创建对应的商品表,字段与实体类属性一一对应。 3. Struts2配置:定义Action类,每个方法对应一个CRUD操作,并在struts.xml文件中配置相关映射。 4. Spring配置:设置数据源、事务管理...

Global site tag (gtag.js) - Google Analytics