1

私は次のものを持っています:

@Controller
@RequestMapping("/admin")
public class AdminController extends BaseHtmlController{

    @Autowired
    protected DeviceCustomerMap deviceCustomerMap;

    @Autowired
    protected CustomerDao customerDao;

    String layout = "template/admin";

    @RequestMapping(value="/login", method = RequestMethod.GET)
    public String login(ModelMap model) {
        model.addAttribute("meta", meta);
        String view = "login";
        return view;
    }


}


public class AdminCustomerController extends AdminController{

    @RequestMapping(value="/customer/mapping", method = RequestMethod.GET)
    public String customerMapping(ModelMap model, @RequestParam(required=false) boolean refresh) throws Exception {
        if (refresh){
            deviceCustomerMap.initCustomerUrlMap();
        }
        model.addAttribute("meta", meta);
        model.addAttribute("view", "customer/mapping");
        model.addAttribute("customers", deviceCustomerMap.getCustomerMap());
        return layout;
    }
}

ただし、拡張コントローラーはリクエストを解決しませんが、ベースコントローラーにある場合は問題なく解決されます。いくつかのスレッドを調べましたが、解決策が見つかりませんでしたか?

4

1 に答える 1

2

メソッドをクラスに移動しない限り、リソースへのリクエストを実行したときに応答を取得できるが、リソースへのリクエストを取得できないという問題はあります/admin/loginか?/admin/customer/mappingcustomerMapping()AdminController

解決策は、AdminCustomerControllerクラスに注釈を付けること@Controllerです。ステレオタイプアノテーション (および適切なコンポーネント スキャン)がなければ、Spring はクラスを Spring Bean として認識しません。

于 2013-01-27T10:01:23.200 に答える