Struts 2 에서 redirect 의 기본 적 인 경험 담
2. redirect - action: action 처리 후 action 으로 다시 설정 합 니 다. 요청 매개 변 수 를 모두 잃 어 버 렸 고 action 처리 결과 도 모두 잃 어 버 렸 습 니 다.
3. chain: action 처리 후 action 으로 전송 합 니 다. 요청 매개 변 수 는 모두 잃 어 버 리 고 action 처리 결 과 는 잃 어 버 리 지 않 습 니 다.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Redirect Action Result:
이 Result 는 Action Mapper Factory 가 제공 하 는 Action Mapper 를 사용 하여 브 라 우 저의 URL 을 다시 찾 아 지정 한 action 과 (선택 가능 한) namespace 를 호출 합 니 다. 이 Result 는 ServletRedirect Result 보다 좋 습 니 다. URL 을 xwork. xml 에 설 정 된 Action Mapper 가 제공 하 는 모드 로 인 코딩 할 필요 가 없 기 때 문 입 니 다. 즉, 임의의 지점 에서 URL 모드 를 변경 할 수 있 으 며 프로그램 에 영향 을 주지 않 습 니 다. 따라서 이 Result 를 사용 하 는 것 을 강력 히 추천 합 니 다.
ActionName (기본 값) - 다시 찾 은 action 이름 namespace - action 의 이름 공간 입 니 다. null 이면 현재 이름 공간 입 니 다.
Redirect Result:
{@link HttpServletResponse \ # sendRedirect (String) sendRedirect} 방법 을 호출 하여 지정 한 위치 로 이동 합 니 다. HTTP 응답 은 브 라 우 저 를 지정 한 위치 로 직접 이동 시 키 는 것 을 알려 줍 니 다 (클 라 이언 트 의 새로운 요청 이 발생 합 니 다). 이렇게 하면 방금 실 행 된 action (action 인 스 턴 스, action 의 오류 메시지 등 포함) 을 잃 어 버 립 니 다.더 이상 사용 할 수 없습니다. action 은 단일 스 레 드 모델 에 기반 을 두 고 있 기 때 문 입 니 다. 데 이 터 를 전달 하 는 유일한 방법 은 Session 또는 Ognl 표현 식 의 웹 매개 변수 (url? name = value) location (기본 값) - action 실행 후 이동 하 는 주소 입 니 다. parse - 기본 값 은 true 입 니 다. false 로 설정 하면 location 매개 변 수 는 Ognl 표현 식 으로 해석 되 지 않 습 니 다.
<result name="success" type="redirect">/displayCart.action?userId=${userId}</result>
<action name= "delete " class= "com.zeng.action.UserManageAction " method= "delete ">
<result type= "redirect "> list.action?pageBean.pageNumber=${pageBean.pageNumber} </result>
</action>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
오늘 struts 2 로 프로젝트 를 할 때 하나의 action 에서 다른 action 으로 넘 어가 고 싶 습 니 다. 그리고 값 을 가 져 가 야 합 니 다.내 방법 을 말 해 봐. 우선 첫 번 째 action 에서 이 아 이 디 는 set, get 방법 이 있어 야 해.점프 할 때 struts. xml:
(방 법 1):
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
(방 법 2):
<result name="topic" type="redirect-action">
<param name="actionName">findTopics</param>
<param name="topicId">${topicId}</param>
</result>
여러 개의 인자 라면 < param > 을 몇 개 더 추가 하면 됩 니 다. (방법 1) 여러 개의 인자 라면 어떻게 합 니까?
<result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}&elementId=${elementId}</result>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
redirect 리 셋 링크 를 사용 하려 면 접미사 이름 이 필요 합 니 다. redirect - action 을 사용 하면 사용 할 수 없습니다. 예 를 들 어 chain 을 사용 하 는 것 처럼 action 의 설정 이름 만 써 야 합 니 다. 접미사 이름. action 을 추가 하면 이상 이 발생 합 니 다. action 이 올 바 르 게 설정 되 지 않 았 습 니 다.
키 글자: struts 2 redirect - action 전달 매개 변수
시스템 을 만 들 때 struts 2 프레임 워 크 를 사용 합 니 다. 요청 을 제출 한 후에 얻 은 데이터 대상 을 하나의 시리 얼 번 호 를 생 성 합 니 다. 새로 고침 을 방지 하기 위해 불필요 한 시리 얼 번 호 를 생 성 합 니 다. 요청 처리 가 끝 난 후에 이 정 보 를 표시 하 는 action 으로 다시 설정 합 니 다.
<action name="enterpreinfo" class="preinfoBusinessAction" method="enterPreinfoSub">
<result name="success" type="redirect-action">
showpreinfo?preinfo.order_number=${preinfo.order_number}&preinfo.company_name=${preinfo.company_name}
</result>
<result name="error" type="redirect">
<param name="location">/error.jsp</param>
</result>
</action>
redirect - action 을 사 용 했 기 때문에 쇼 preinf? preinfo. order 를 사용 하지 않도록 주의해 야 합 니 다.number = ${preinfo. order number} 쇼 preinf. action 으로 쓰 시 겠 습 니까?preinfo.order_number=${preinfo.order_number}
이 프로필 에서 여러 매개 변수의 연결 부 호 는 '& amp;' 를 사 용 했 지만 XML 의 문법 규범 은 '& amp;' 를 사용 해 야 합 니 다. '&' 대신 '&' 를 사용 해 야 합 니 다. 원 리 는 HTML 의 전의 와 같 습 니 다. 처음에 주의 하지 않 았 습 니 다. struts 에서 설정 파일 을 분석 할 때 항상 이러한 오 류 를 보고 합 니 다.
The reference to entity "preinfo" must end with the ';' delimiter.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
주석 방식:
@Results({
@Result(name="input", type="redirectAction", params = {"actionName" , "resend"})
})
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struts 2.1.6 xml 이 든 annotation 이 redirect Action 을 설정 할 때 일부 인 자 를 전달 하려 면 ServletAction Redirect Result 에서 설명 하지 않 았 습 니 다. 이 때 ognl 은 이상 을 던 집 니 다.하지만 실제 업로드 치 는 성공 적 이 었 다.struts 2 의 jira 참조:
예:
@Results({
@Result(name="reload",type="redirectAction"
,params={"actionName","hello_world"
,"namespace","/center/part1"
,"id","09"
,"count","90"})
})
@Results({
@Result(name="reload",type="redirectAction"
,params={"actionName","hello_world"
,"namespace","/center/part1"
,"id","09"
,"count","90"})
})
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dispatcher 결과 형식 은 결 성 된 result 형식 으로 보기 자원 을 되 돌려 줍 니 다 (예: jsp)
<result name="success">/main.jsp</result>
<result name="success">/main.jsp</result>
위의 쓰기 방법 은 두 개의 기본 값 을 사 용 했 습 니 다. 완전한 쓰기 방법 은 다음 과 같 습 니 다.
<result name="success" type="dispatcher">
<param name="location">/maini.jsp</param>
</result>
location 은 페이지 일 뿐 다른 action 일 수 없습니다. (type = "chain" 으로 해결 할 수 있 습 니 다.)
redirect 결과 형식 은 한 페이지, 다른 action 또는 한 사이트 로 재 설정 하 는 데 사 용 됩 니 다.
<result name="success" type="redirect">aaa.jsp</result>
<result name="success" type="redirect">bbb.action</result>
<result name="success" type="redirect">www.baidu.com</result>
redirect - action 결과 형식 은 Action Mapper Factory 가 제공 하 는 Action Mapper 를 사용 하여 다른 action 으로 요청 합 니 다.
<result name="err" type="redirect-action">
<param name="actionName"> Action </param>
<param name="namespace"> Action </param>
</result>
redirect 와 redirect - action 두 가지 결과 유형 은 사용 에 있어 서 별 차이 가 없 으 며, 쓰기 만 다 를 뿐이다.
chain 은 관련 된 몇 개의 action 을 연결 하여 하나의 기능 을 공동으로 완성 하 는 데 사용 합 니 다.
<action name="step1" class="test.Step1Action">
<result name="success" type="chain">step2.action</result>
</action>
<action name="step2" class="test.Step2Action">
<result name="success">finish.jsp</result>
</action>
chain 에 있 는 action 은 같은 http 요청 에 속 합 니 다. 하나의 Action Context 를 공유 합 니 다.
plaintextj 결과 형식 은 페이지 에 원본 코드 를 직접 표시 하 는 데 사 용 됩 니 다.
<result name="err" type="plaintext">
<param name="location"> </param>
<param name="charSet"> ( GBK)</param>
</result>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| EL (Experession Language)텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.