<s2:form action="Adapter_Soft.action" method="post" namespace="res" name="uploadForm" enctype="multipart/form-data"  onsubmit="return checkRes();">
<table width="96%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="18%" align="right" valign="top">
</td>
   <td width="68%">
    <s2:if test="fieldErrors.size>0||actionErrors.size>0">
<span class="redstrong"><s2:fielderror/></span>
     </s2:if>
    </td>
    </tr>
<tr>
<td width="18%" align="right" valign="top">
上传软件资源文件:
</td>
<td width="68%">
<span class="td1">
<input type="hidden" name="channelId" value="${channelId}"/>
<input type="hidden" name="unLoadType" value="1"/>
<input type="file" name="res" id="res" size="30" onchange="checkRes();" title="浏览"/>
<span class="ccc"><br /> 支持的文件类型:
<s2:iterator value="list">
*.${formatName};
</s2:iterator>,总上传文件大小:1M</span>
</span>
</td>
<td width="14%">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>
<span class="td2">
<input name="btn" type="submit" class="button" value="增加产品文件"/>
</span>
</td>
<td>&nbsp;</td>
</tr>
</table>
</s2:form>只要加上了enctype="multipart/form-data"  里面什么值都得不到了,去掉以后就可以得到,但是又无法上传了。 这该怎么办?

解决方案 »

  1.   

    channelId
    unLoadType
    在action中都已经有了setter和getter方法了
      

  2.   

    这个问题在strut1以及jsp + servlet时是一定会出现的,但struts2做了处理,就是说在struts2中应该不存在这个问题了,我做了struts2做了很多文件上传多不存在这种问题,楼主可能在某个地方忽略了什么。
    不知楼主的的编码方式是什么?
      

  3.   

    <%@page language="java" contentType="text/html;charset=UTF-8"%> 你是说这个么?
    哎,我自己写的测试程序也是可以正常运行的,但是到了公司的这个项目里面就跑不通了。我也不晓得是什么原因啊。希望大家能给我个解决方案。我也纳闷儿很久了。