2012-09-24 44 views
3

我的控制器類是

@RequestMapping(method = RequestMethod.POST, value = "/auditregistry/collectionentry/cid/{cid}/collid/{collid}/colldt/{collectiondate}/amount/{amt}") 

public ModelAndView saveManualCollection(@PathVariable("cid") Integer custId, @PathVariable("collid") Integer collRtId, @PathVariable("collectiondate") String dt, **@PathVariable("amt") String amount**) throws Exception 
{ 
    debug("amount recieving=="+amount); 

和我傳遞到url的值

/auditregistry/collectionentry/CID/9991/COLLID/10/colldt/20120726 /數量/ $ 14.55

當我試圖打印量值其打印爲「$ 14」而不是「$ 14.55」我應該怎麼做才能打印實際值「$ 14.55」

任何幫助是非常心存感激

+0

你嘗試調試,爲$ 14.55到來因爲它在Java代碼中。您可能應該在客戶端代碼 – titogeo

回答

5

這是因爲默認情況下的Spring MVC .後去掉一切,把它當作一個文件擴展名(例如/file.txt)。這可以很容易地解決。使用Spring MVC 3.1和Java配置:

@Configuration 
class Cfg extends WebMvcConfigurationSupport { 

    @Override 
    public RequestMappingHandlerMapping requestMappingHandlerMapping() { 
     final RequestMappingHandlerMapping mapping = super.requestMappingHandlerMapping(); 
     mapping.setUseSuffixPatternMatch(false); 
     return mapping; 
    } 

} 

請注意呼叫:RequestMappingHandlerMapping.setUseSuffixPatternMatch()

6

改變你的RequestMapping以下

@RequestMapping(method = RequestMethod.POST, value = "/auditregistry/collectionentry/cid/{cid}/collid/{collid}/colldt/{collectiondate}/amount/{amt:.*}") 

的變化在這裏條代替{AMT:*}在RequestMapping insted的的{AMT}

+0

中轉義點(。)由於某種原因,添加setUseSuffixPatternMatch(false)對我無效,但按照建議更新@RequestMapping。謝謝! – Pavel

+0

你能解釋爲什麼以及如何工作?謝謝 – georger