2014년 12월 9일 화요일

Action과 Message[자바,스프링프레임워크3/4,스프링4/3교육학원,Spring Framewok4/3,Spring교육]

웹 애플리케이션에서 사용자의 요청을 받아 비즈니스 로직 처리를 한 후 정상적이든 비정상적이든 메시지를 보여줘야 하는 경우가 있는데 이를 위해 Struts에서는 ActionMessages, ActionErrors를 사용한다. 

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 

ActionForm의 validate() 메소드(struts-config.xml의 action Tag의 validate가 true인 경우 호출 됨)의 Return Type이 ActionErrors인데 프로그램에서 발생하는 에러를 저장해 주는 역할을 한다. ActionErrors는 add() 메소드를 통해 ActionError를 담을 수 있다. 

  

public void add(String property, ActionError error) 

  

이 메소드의 경우 비권장 메소드로 Struts 최신 버전에는 ActionError를 사용하기 보다 ActionMessage를 사용한다. ActionErrors는 ActionForm의 validate()의 반환값으로만 의미가 있는 객체가 되었는데 즉 ActionErrors는 ActionForm의 validate()에서 요청 파라미터를 검증하는 동안 발견된 에러를 ActionMessage에 담아 사용하기 위한 용도로 한정하고 일반적인 사용을 위해서는 ActionMessages를 사용하는 것이 바람직 하다. 

  

public void add(String property, ActionMessage message) 

public void add(ActionMessages messages) 

  

위에서 property라고 하는 것은 ActionMessages, ActionErrors에서 등록된 메시지들 중 하나를 지정하여 보여달라고 하는 경우 ActionMessages 검색 Key 역할을 한다. 

  

그러므로 Action에서 메시지를 생성할 때는 ActionErrors 보다는 ActionMessages를 사용하는 것이 바람직하며 ActionForward를 반환하기 전에 saveMessage()를 이용하여 메시지를 원하는 scope에 저장해야 한다. 

  

if (!isOK) { 

                                //인증 실패 

                                ActionMessages errors = new ActionMessages(); 

                                errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage("error.login.invalid")); 

                                saveErrors(request,errors); 

                                return (new ActionForward(mapping.getInput())); 

                    } 

  


 [100%환급,실무전문]빅데이터/SQL/자바/스프링/안드로이드/닷넷C… 오라클자바…12-272788
 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육…오라클자바…12-112023
53 [평일100%환급7건]웹퍼블리싱,자바&JSP,안드로이드,C#닷넷,SQL기… 오라클자바…03-151830
52 [주말]C#,ASP.NET마스터 오라클자바…01-312000
51 [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… 오라클자바…01-312945
50 [주말주간]자바&웹,jQUERY,스프링프레임워크,마이바티스 오라클자바…01-311537
49 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… 오라클자바…01-191859
48 [평일야간,주말]안드로이드개발자과정(Android기초실무) 오라클자바…01-111734
47 [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… 오라클자바…01-032300
46 [100%환급,실무전문]빅데이터/SQL/자바/스프링/안드로이드/닷넷C… 오라클자바…12-272788
45 [평일주간]NoSQL,MongoDB,빅데이터기초과정 오라클자바…12-191950
44 [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… 오라클자바…12-141930
43 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… 오라클자바…12-112023
42 [평일주간]빅데이터하둡기초과정(BigData Hadoop) 오라클자바…12-091575
41 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011800
40 [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… 오라클자바…12-012016
39 [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) 오라클자바…12-011451

댓글 없음:

댓글 쓰기