2014-12-03 1 views
0

내가 http://www.simplecodestuffs.com/integrating-jquery-datatable-with-struts2-using-ajax-to-implement-gridview/struts 2 응용 프로그램은 JSP없이 결과를 렌더링합니다. 이것이 어떻게 가능한지?

에서 스트럿츠 2 자습서를 따라하고 나는 날이 튜토리얼에 고생 뭐죠, 스트럿에 언급 된 JSP 결과가 있지만 등 POJO 액션 클래스 struts.xml 구성을 사용하여 같은 핵심 개념을 이해했다. xml은 "grid.jsp"라고합니다. 그러나이 페이지는 응용 프로그램에 존재하지 않으며 여전히 작동합니다.

어떻게 이런 일이 발생할 수 있습니까? 스트럿츠 2는 JSP 템플릿을 생성합니까? 첨부 된 스크린 샷을 확인하십시오. 그것은 프로젝트 구조와 struts.xml을 가지고 있습니다.

저는 다양한 서적과 자습서 및 Google 검색을 시도했지만이 주제는 아직 논의 된 적이 없습니다. 도와주세요. 요청이 액션 클래스에 도달했을 때의 흐름을 배우고 싶습니다.

이러한 종류의 예제는 struts2 쇼케이스에도 있습니다.

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
    <package name="default" extends="json-default"> 
     <action name="dataTablesAction" class="com.action.GridViewAction"> 
      <result type="json">grid.jsp</result> 
     </action> 
    </package> 

</struts> 

Project structure and struts.xml

+0

WEB-INF 디렉토리를 확인 했습니까? – realUser404

+0

예. 프로젝트의 모든 디렉토리를 확인했습니다. 게시물에 제공된 URL에서 프로젝트를 다운로드 할 수도 있습니다. – DJR

+0

* "이제는 데이터를 표시하는 jsp 파일을 만듭니다 ..."*이 파일을 의미합니다. – zapl

답변

1

@zapl 이미 그가 대답으로 자신의 의견을 게시 할 경우, 나는이 답변 삭제됩니다, 당신이 대답했다.

당신은이 전체 액션 것 ("성공"에 이름이 지정되지 않은 경우 촬영) 때문에 지능형 기본으로 추가됩니다

<result name="success" type="json"></result> 

"success"로 번역됩니다

<result type="json">grid.jsp</result> 

쓸 때 that's how the JSON plugin works이 (가) JSON으로 직렬화됩니다. root 오브젝트를 지정할 수는 있지만 JSP! = JSON이 G로 JSP를 지정할 수 없으므로 jsp 이름과 같은 원시 텍스트가 구성에서 발견되지 않을 것으로 예상됩니다. 귀하의 grid.jsp은 단순히 무시되고 전혀 잘려 내지 않을 것입니다. (테스트되지는 않았지만 저는 꽤 확신합니다).

관련 문제