1
@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, 
        HttpServletRequest request, HttpServletRequest response){               
    Map<String,String> yesMap = new HashMap<String,String>();
}

上記のコードに示すように、{responseType} から渡されたパラメーターのデータ型を取得し、yesMap でパラメーター値に対して同じものを設定する必要があります。

String param=request.getParameter("id");

null 値を返しています。

4

2 に答える 2

0

{responseType}から渡されたパラメータのデータ型を取得する必要があります

そのタイプは、常にString収集しているとおりにresponseTypeなりますString

get data types of parameters passed from {responseType} and set the same in yesMap against parameter values

私はそうyesMap.put("String",responseType); するだろうと思います。

于 2012-09-05T11:44:10.163 に答える
0

上に投稿したコードでは、次の呼び出し

yourRootUrl/cheese/stilton

これらは、「実行」メソッドで真になります。

methodName.equals("cheese");
responseType.equals("stilton");

あなたが何を達成しようとしているのかわかりません。パラメータ名がわかりにくいです。

非常に単純で、2つの文字列パラメータを宣言しました。これはSpringのおかげでパス変数になります。

これはGETリクエストであるため、getParamterは機能しませんString param=request.getAttribute("id");。パス変数とはまったく関係のないものを使用してみてください。または、次のような別のアナオションRequestParam :

@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, @RequestParam int id) 
于 2012-09-05T10:54:31.353 に答える