2014-02-11 79 views
1

我正在構建將完整url作爲參數並處理該網址指向的CSV數據的服務。所以我想在我的服務URL之後將CSV文件的URL作爲單個參數傳遞。整個URL我真的什麼工作就像下,如何使用查詢字符串傳遞包含其他網址的網址查詢字符串

http://mydomain.com/myservice?CSVUrl=http://ichart.finance.yahoo.com/table.csv?s=FB&d=1&e=10&f=2014&g=d&a=4&b=18&c=2012&ignore=.csv

我希望我的Java Spring MVC的控制器可通過以下方式工作。問題是,我想作爲參數傳遞的CSVUrl字符串包含特殊字符和其他查詢字符串,應該將其保存爲CSVUrl的整個字符串。另外,CSVUrl應該是用戶提供的東西。所以我不知道它提前。這也給我很難編碼它之前傳遞給它的URL。

public ModelAndView processCSVFile(@RequestParam String CSVUrl) { 
    ModelAndView mav = new ModelAndView(); 
    CsvDataProcessor csvDataProcessor = new CsvDataProcessor(); 
    String vizData = csvDataProcessor.getVizDataTableString(CSVUrl); 

    mav.addObject("csvData", csvData); 
    mav.setViewName("myservice.jsp"); 

    return mav; 
} 

它不以這種方式工作。我怎樣才能使它工作?在我搜索時,我可能需要使用URLEncoder和URLDecoder。但還沒有想出如何使其工作。提前感謝您的任何幫助!

回答

4

URLEncoder看看,例如:

URLEncoder.encode("mysite.com?a=foo&b=cow", "UTF-8"); 

應該給你mysite.com%2Fa%3Dfoo%26b%3Dcow

+0

感謝您的回答。但它要求我事先知道傳遞的url,對嗎?如果我不提前知道該怎麼辦? – kevinlu

+0

然後你可以傳遞一個包含用戶輸入的變量 – gerrytan

相關問題