> Java > java지도 시간 > JSP의 액션이란 무엇입니까?

JSP의 액션이란 무엇입니까?

(*-*)浩
풀어 주다: 2020-09-15 15:52:50
원래의
10528명이 탐색했습니다.

JSP의 Action 클래스는 사용자 요청과 비즈니스 로직 사이를 연결하는 역할을 합니다. 각 Action은 "RequestProcessor" 클래스가 요청을 전처리할 때 Action 인스턴스를 생성한 후 " processActionPerform" 메서드를 사용합니다.

JSP의 액션이란 무엇입니까?

Action 클래스는 사용자 요청과 비즈니스 로직 사이의 다리 역할을 합니다. 각 Action은 고객을 위한 비즈니스 에이전트 역할을 합니다. RequestProcessor 클래스는 요청을 사전 처리할 때 Action 인스턴스를 생성한 후 Action 클래스의 Execute()를 호출하는 자체 processActionPerform() 메서드를 호출합니다.

추천 과정: Java 튜토리얼.

다음은 jsp의 action 기능을 소개합니다.

Complete action

<action path="/aFullAction" 
type="somePackage.someActionClass">  
name="someForm" 
input="someJSP.jsp" 
<forward name="successful" path="someJSP.jsp"/>  
<forward name="failed" path="someOtherJSP.jsp"/>  
</action>
로그인 후 복사

먼저 Struts의 ActionServlet이 요청을 받은 후 struts-config.xml의 구성에 따라 해당 매핑(mapping)을 찾습니다. ; next 폼의 범위가 요청이거나 정의된 범위에서 폼을 찾기 어려운 경우, 폼 인스턴스를 얻은 후 새 폼 인스턴스를 생성하고 해당 폼 인스턴스를 재설정() 메서드를 호출한 후 폼에 매개변수를 넣습니다. 유효성 검사 속성이 false가 아닌 경우 유효성 검사() 메서드를 호출하고, 유효성 검사()가 비어 있지 않은 ActionErrors를 반환하면 입력 속성에 지정된 URI로 전송됩니다. 그런 다음 반환된 ActionForward를 기반으로 Action의 Execute() 메서드를 실행합니다. 대상 URI를 결정합니다.

이의 효과는 다음과 같습니다. submit()은 verify()가 성공한 후에만 실행됩니다. 입력 속성은 URI를 지정합니다.

JSP 액션만

<action path="/aJSPOnlyAction" 
type="org.apache.struts.actions.ForwardAction" 
parameter="someOtherJSP.jsp" 
/>
로그인 후 복사

먼저 ActionServlet은 요청을 받은 후 ForwardAction의 Execution() 메소드를 호출합니다. Execute()는 구성된 매개변수 속성 값에 따라 URI로 전달됩니다.

이렇게 하면 양식이 인스턴스화되지 않습니다. 보다 현실적인 상황은 양식이 요청의 상위 수준 범위에서 정의되거나 애플리케이션이 컴파일된 후 시스템 매개변수로 사용되는 것입니다. 시스템을 다시 컴파일하지 않고 이 구성 파일을 변경하면 됩니다.

두 개의 작업이 하나의 형식에 해당합니다

<action path="/anAction" 
type="somePackage.someActionClass">  
name="someForm" 
input="someJSP.jsp" 
<forward name="successful" path="/anotherAction.do"/>  
</action>  
<action path="/anotherAction" 
type="somePackage.someOtherActionClass">  
name="someForm" 
input="someOtherJSP.jsp" 
<forward name="successful" path="someResultJSP.jsp"/>  
</action>
로그인 후 복사

각 개별 작업은 전체 작업과 처리에 실질적인 차이가 없습니다. 이 조합 패턴은 명령 개체(양식)를 전달하는 데 사용할 수 있습니다. 양식의 재설정() 및 유효성 검사() 메서드도 후자 작업에서 호출되므로 양식의 정보를 덮어쓰지 않도록 해야 합니다.

처리 방법은 대략 두 가지 유형으로 나뉩니다.

a) 이전 작업이 다음 작업으로 양식을 전달할 의도가 있음을 나타내는 표시기를 요청에 넣어 후자의 작업이 그 값을 유지할 수 있도록 합니다. 이 One 메서드는 전달을 사용할 때만 사용할 수 있습니다.

b) 전달 대신 리디렉션을 사용하는 경우 표시기를 세션 또는 상위 수준에 배치하고 명령 체인의 마지막 링크에서 이 표시기를 지울 수 있습니다.

<action path="/anAction" 
type="somePackage.someActionClass">  
name="someForm" 
input="someJSP.jsp" 
<forward name="successful" path="/anotherAction.do" redirect="true"/>  
</action>  
<action path="/anotherAction" 
type="somePackage.someOtherActionClass">"  
name="someOtherForm" 
input="someOtherJSP.jsp" 
<forward name="successful" path="someResultJSP.jsp"/>  
</action>
로그인 후 복사

이 조합 방법은 이제 두 작업에 대한 양식을 별도로 제공하므로 코드가 더 명확해 보인다는 점을 제외하면 프로세스 측면에서 이전 방법과 크게 다르지 않습니다. 따라서 웹 애플리케이션의 입력과 출력을 별도로 처리할 수 있습니다.

후자의 작업도 해당 매개변수를 양식에 기록하려고 시도한다는 점은 주목할 가치가 있지만 다음과 같이 처리할 수 있습니다.

a) 후자 양식에서는 다른 속성 이름 세트를 사용합니다.

b) 제공만 합니다. 세터를 제공하지 않고 게터를 사용합니다.

대략적인 처리는 다음과 같습니다.

이전 작업은 입력을 받아 검증한 후 비즈니스 계층이나 지속성 계층에 데이터를 쓰고 다음 작업으로 리디렉션하고 후자의 작업은 수동으로 데이터를 가져옵니다. 비즈니스 계층/지속성 계층 데이터는 (다른 방법을 통해) 양식에 기록되고 표시를 위해 프런트엔드 JSP로 전달됩니다.

이것의 장점은 입력 양식의 값을 유지할 필요가 없으므로 전달 대신 리디렉션을 사용할 수 있다는 것입니다. 이렇게 하면 두 작업 간의 결합이 줄어들고 불필요하게 반복되는 제출을 방지할 수 있습니다.

위 내용은 JSP의 액션이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
jsp
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿