余游
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”方法是否有什么不同呢?

    点赞 评论
  • myali88 2012-02-10 10:50

    两个Action中的代码如何?

    点赞 评论

相关推荐 更多相似问题