2011-11-26 25 views
0

XML文件正在發佈到我的spring mvc正在響應的url。正在發佈一個文件,如何通過索引引用參數?

在.NET中,我可以這樣做:

request.Form[0] 
request.Form["abc"] 

request.QueryString[0] 
request.QueryString["some_key"] 

現在春暖花開/ servlet的,看來我只能做到這一點:

request.getParameter("some_key") 

或獲得所有的名字或價值觀。

當有人發佈文件到一個url,使用http post,這不會只是一個單一的請求參數呢?

我可以通過servlet獲得使用索引的參數嗎?

回答

1

當有人發佈文件到一個url,使用http post,這不會是一個單一的請求參數嗎?

不一定。如果表單包含更多的字段,那麼我們會有更多的參數。

我可以通過servlet獲得使用索引的參數嗎?

AFAIK,No. request.getParameter()不返回數組或集合。所以不能做到這一點與request.getParameter()

request.getParameterValues(String)返回數組 - 但與給定的參數名稱關聯只值上的按鍵

request.getParameterMap()的作品,而不是命令。這也無濟於事。

1

如果您使用的是基於註釋春天控制器,然後這應該工作:

@RequestMapping(value="/upload.view") 
public ModelAndView upload(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile f) { 
    if (f == null) { 
    return new ModelAndView("upload", "msg", "The file is null."); 
    } 

    return new ModelAndView("upload", "msg", "File (" + f.getOriginalFilename() + ") successfully uploaded."); 
} 

另外,你需要把它添加到您的應用程序上下文

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.C ommonsMultipartResolver"> 
    <!-- Max size in bytes. --> 
    <property name="maxUploadSize" value="100000"/> 
</bean> 

,如果您使用的是舊式控制器,然後你可以做Spring文檔中建議的東西(但它更復雜)http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch16s08.html