2013년 11월 13일 수요일

Spring Controller,다중액션컨트롤러(MultiActionController), 스프링프레임워크교욱학원,Spring학원교육 다중액션컨트롤러 비슷하거나 관련된 기능을 수행하는 단일 컨트롤러작성에 사용

Spring Controller,다중액션컨트롤러(MultiActionController), 스프링프레임워크교욱학원,Spring학원교육 

다중액션컨트롤러
비슷하거나 관련된 기능을 수행하는 단일 컨트롤러작성에 사용
다중액션을  수행할 수 있는 특별한 종류의 컨틀롤러

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);  
}//:
public ModelAndView listJob(HttpServletRequest request,
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>

[/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>

[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>
 
[URL Pattern]
 
Method이름 결정
ParameterMethodNameResolver  요청 파라미터를 기초로 하여 컨트롤러의 실행 메소드 이름을 정함 
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>
 
InternalPathMethodNameResolver
<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
 
 
 

댓글 없음:

댓글 쓰기