2012-04-23 7 views
0

私は最初のコントローラに基づいて1つのコントローラを呼び出す必要があります。私は別のコントローラを呼び出す必要があります...... これは春3 mvcで動作していません........春3コントローラchaing

@Controller 
public class ajaxContoller { 
     @RequestMapping(value="/mmiFacade",method=RequestMethod.POST) 
    public @ResponseBody String mmiFacade(@RequestParam String sType){ 
         String forwardName = "";   
     if (sType.equalsIgnoreCase("Pincode")) { 

      forwardName = "forward:/pincodeAction"; 
     } else if (sType.equalsIgnoreCase("Locality")) { 

      forwardName = "forward:/localityAction"; 
     } else if (sType.equalsIgnoreCase("Patient")) { 

      forwardName = "forward:/patientAction"; 
     } else if (sType.equalsIgnoreCase("Dlhdata")) { 

      forwardName = "forward:/Dlhdata"; 
     } 
      return forward; 

    } 



    @RequestMapping(value="/pincodeAction",method=RequestMethod.POST) 
    public @ResponseBody String ajax(){ 
      return "hiii"; 

    } 
@RequestMapping(value="/localityAction",method=RequestMethod.POST) 
    public @ResponseBody String ajax1(){ 
      return "hiii1"; 

    } 


} 

答えて

0

modelandviewオブジェクトを返す必要があります。 "forward:/"で始まるビュー名がジョブを実行します。そうでなければ、Springは応答を解釈しようとしません。 スイッチを実装し、その他のマッピングを他のJava関数への単純な呼び出しとして呼び出すための別のオプション。

+0

これでエラーが発生しました。これは..... org.springframework.beans.factory.BeanCreationException:名前 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMappingでBeanを作成中にエラーが発生しました。 0 ':Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalStateExceptionです:あいまいなマッピングが見つかりました。 'mmiController' beanメソッドをマップできません –

+0

エラーが発生しました。java.lang.IllegalStateException:あいまいなマッピングが見つかりました。 'mmiController' beanメソッドをマッピングできません –

+0

'あいまいなマッピングが見つかりました'は、少なくとも2つのメソッドを同じパスにマッピングすることを意味します。あなたの@RequestMappingの定義を確認してください – Dima

0

ビュー名を含む文字列を返すことは、ビュー名を文字列に設定してModelAndViewオブジェクトを返すこととまったく同じことを行います。 Stringを返すだけで、Springは内部的にModelAndViewを作成し、ビュー名をStringの値に設定します。

例では、mmiFacadeメソッドに@ResponseBodyという注釈を付けるべきではありません。 @ResponseBodyを使用すると、ビュー解決プロセスがバイパスされます。このプロセスでは、ビュー名の接頭辞「forward:」と「redirect:」が検出され、処理されます。