正如標題所說, 我想在單個控制器中執行多個功能,並帶有繼承MultiActionController。如何通過Springframework中的方法名稱分離邏輯而不擴展MultiActionController?
所以我做了如下的代碼。
package org.owls.replace;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(value={"/test"})
public class TestController {
private Logger log = Logger.getLogger(TestController.class);
@RequestMapping(params={"m=doA"})
public void doA() throws Exception{
log.info("DoA !");
}
@RequestMapping(params={"m=doB"})
public void doB() throws Exception{
log.info("DoB !");
}
@RequestMapping(params={"m=doC"})
public void doC() throws Exception{
log.info("DoC !");
}
};
此代碼有效。如果我打電話給「〜/ m = doA」,它會打印「DoA」。然而,我想要的是刪除每個@RequestMapping除類(因爲參數「m」是固定的,只有方法名稱可以是一個參數)
所以我期望的是像下面的一些代碼(不工作,但請注意@RequestMappping中的params值)。
package org.owls.replace;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(value={"/test"}, params={"doA", "doB", "doC"})
public class TestController {
private Logger log = Logger.getLogger(TestController.class);
public void doA() throws Exception{
log.info("DoA !");
}
public void doB() throws Exception{
log.info("DoB !");
}
public void doC() throws Exception{
log.info("DoC !");
}
};
** 哪能與參數映射方法的名稱,而不使用的MultiActionController或XML設置?
我的英文很醜,但我希望你能通過閱讀代碼來理解我的意思。感謝編輯不好的英文,並分享我的問題。 :D