余游 2012-02-10 10:22
浏览 213
已采纳

关于struts2上传的问题

最近在弄自己的毕设,弄到了文件的上传,我用的是struts2框架,之前做了一个管理员上传一切正常,
但等到再做学生上传,savePath怎么都获取不到正确的地址了,代码如下

管理员配置文件:
[code="java"]

    <action name="upload"  method="upload"
    class="com.ldr.bysj.web.action.AdminMgrAction">
        <!-- 配置fileUpload的拦截器 -->
        <interceptor-ref name="fileUpload">
            <!-- 配置允许上传的文件类型 -->
            <param name="allowedTypes">
        application/vnd.ms-powerpoint,application/msword</param>
            <!-- 配置允许上传的文件大小 -->
            <param name="maximumSize">1024000</param> 
        </interceptor-ref> 
        <!-- 配置系统默认的拦截器 -->
        <interceptor-ref name="defaultStack"/>
        <!-- 动态设置Action的属性值 -->
        <param name="savePath">/adminupload</param>
        <!-- 配置input逻辑视图对应的视图页面 -->
        <result name="input" type="dispatcher">
        /WEB-INF/pages/system/admin/upload.jsp</result> 
        <!-- 配置Struts2默认的视图页面 -->
        <result name="success" type="redirectAction">filelist</result>  
    </action> 

[/code]

学生配置文件:[code="java"]

    <action name="upload"  method="upload"
    class="com.ldr.bysj.web.action.StudentMgrAction">
        <!-- 配置fileUpload的拦截器 -->
        <interceptor-ref name="fileUpload">
            <!-- 配置允许上传的文件类型 -->
            <param name="allowedTypes">
        application/vnd.ms-powerpoint,application/msword</param>
            <!-- 配置允许上传的文件大小 -->
            <param name="maximumSize">1024000</param> 
        </interceptor-ref> 
        <!-- 配置系统默认的拦截器 -->
        <interceptor-ref name="defaultStack"/>
        <!-- 动态设置Action的属性值 -->
        <param name="savePath">/stuupload</param>
        <!-- 配置input逻辑视图对应的视图页面 -->
        <result name="input" type="dispatcher">
        /WEB-INF/pages/system/student/upload.jsp</result> 
        <!-- 配置Struts2默认的视图页面 -->
        <result name="success" type="redirectAction">sfilelist</result> 
    </action> 

[/code]
这时管理员得到的是完整路径 C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\bysj\adminupload
但学生的路径却变成了 \stuupload,请问一下问什么会出现这种情况呢?

  • 写回答

2条回答 默认 最新

  • myali88 2012-02-10 11:10
    关注

    我觉得你两个配置里面都只是简单设置“savePath”的属性,如果没有其他操作的话,应该action里面得到的也就是这个字符串值了。
    你看看两个Action里面的“getSavePath”方法是否有什么不同呢?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵