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/amount/ $14.55

金額の値を「$14.55」ではなく「$14」として印刷しようとすると、実際の値「$14.55」を印刷するにはどうすればよいですか

どんな助けでもとても感謝しています

4

2 に答える 2

6

RequestMapping を以下に変更します

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

変更は、RequestMapping の{amt } の代わりに{amt:.*}に置き換えられます。

于 2012-09-24T11:43:02.337 に答える
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().

于 2012-09-24T11:42:28.390 に答える