다중액션컨트롤러
비슷하거나 관련된 기능을 수행하는 단일 컨트롤러작성에 사용
다중액션을 수행할 수 있는 특별한 종류의 컨틀롤러
다중액션을 수행할 수 있는 특별한 종류의 컨틀롤러
public class JobMultiActionController extends MultiActionController {
public ModelAndView showJobInfo(HttpServletRequest
request,
HttpServletResponse reponse) {
String jspUrl = "/jsp/command/jobcode.jsp";
String jobCode = request.getParameter("jobCode");
Job job = jobService2.getJobcode(jobCode);
return new ModelAndView(jspUrl, "jobcode", job);
}//:
HttpServletResponse reponse) {
String jspUrl = "/jsp/command/jobcode.jsp";
String jobCode = request.getParameter("jobCode");
Job job = jobService2.getJobcode(jobCode);
return new ModelAndView(jspUrl, "jobcode", job);
}//:
public ModelAndView listJob(HttpServletRequest
request,
HttpServletResponse reponse) {
String jspUrl = "/jsp/multiaction/joblist.jsp";
List list = jobService2.getAllJobcodes();
return new ModelAndView(jspUrl, "joblist", list);
}//:
}////~
HttpServletResponse reponse) {
String jspUrl = "/jsp/multiaction/joblist.jsp";
List list = jobService2.getAllJobcodes();
return new ModelAndView(jspUrl, "joblist", list);
}//:
}////~
[web.xml]
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-config/spring-base.xml
</param-value>
</context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-config/spring-base.xml
</param-value>
</context-param>
[/WEB-INF/spring-config/spring-base.xml]
<beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
[mvc-multiaction.xml]
<bean
id="jobMultiActionController"
class="onj.training.mvc.multiaction.JobMultiActionController">
<property name="jobService2">
<ref bean="jobService2" />
</property>
<property name="methodNameResolver">
<ref bean="controllerMethodNameResolver"/>
</property>
</bean>
class="onj.training.mvc.multiaction.JobMultiActionController">
<property name="jobService2">
<ref bean="jobService2" />
</property>
<property name="methodNameResolver">
<ref bean="controllerMethodNameResolver"/>
</property>
</bean>
[URL Pattern]
Method이름 결정
ParameterMethodNameResolver 요청 파라미터를 기초로 하여 컨트롤러의 실행 메소드 이름을 정함
PropertiesMethodNameResolver 키-값 쌍의 목록을 기초로 하여 컨트롤러의 실행 메소드 이름 결정
InternalPathMethodNameResolver URL의 마지막 경로를 메소드 이름으로 사용
PropertiesMethodNameResolver 키-값 쌍의 목록을 기초로 하여 컨트롤러의 실행 메소드 이름 결정
InternalPathMethodNameResolver URL의 마지막 경로를 메소드 이름으로 사용
[ParameterMethodNameResolver]
<beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.ParameterMethodNameResolver">
<property name="paramName">
<value>method</value>
</property>
</bean>
</beans>
InternalPathMethodNameResolver
<beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.InternalPathMethodNameResolver“>
</bean>
</beans>
<bean id="controllerMethodNameResolver“
class="org.springframework.web.servlet.mvc.multiaction
.InternalPathMethodNameResolver“>
</bean>
</beans>
예) 요청 URL이 아래와 같다면
http://onjprogramming.co.kr/list.do : list
http://onjprogramming.co.kr/list.do?param=onj : list
http://onjprogramming.co.kr/ajax :ajax
http://onjprogramming.co.kr/ajax.do?param=onj :ajax
http://onjprogramming.co.kr/list.do : list
http://onjprogramming.co.kr/list.do?param=onj : list
http://onjprogramming.co.kr/ajax :ajax
http://onjprogramming.co.kr/ajax.do?param=onj :ajax
오라클자바커뮤니티 실전 개발자 과정 - 개인80%환급
댓글 없음:
댓글 쓰기