2012-10-23 4 views
0

Struts2 및 ftl로 작업하고 있습니다. jsp 대신 ftl을 사용하고 싶지만 web.xml에 환영 파일을 login.ftl로 정의하면 작동하지 않습니다. 그냥 텍스트로 표시됩니다. 전체 코드는 브라우저에 표시되지만 JSP이면 모든 것이 작동합니다.Freemarker 템플릿 (FTL)이 struts2에서 작동하지 않습니다.

아래 web.xml을 붙여 넣기 만하면됩니다.

<filter> 
<filter-name>struts2</filter-name> 
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
</filter> 

<filter-mapping> 
<filter-name>struts2</filter-name> 
<url-pattern>*.action</url-pattern> 
</filter-mapping> 

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>classpath:applicationContext.xml</param-value> 
</context-param> 

<listener> 
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<welcome-file-list> 
<welcome-file>login.ftl</welcome-file> 
</welcome-file-list> 

어떻게 Struts2에서 ftl을 구성 할 수 있습니까? 동일한 페이지를 작업의 출력 페이지로 사용하면 작동합니다. 이 문제를 어떻게 해결할 수 있습니까? 내 web.xml 구성에 문제가 있습니까 ?? 도와주세요. 미리 감사드립니다.

+0

아무도 답변을 모르는 경우 회신 해주세요. 도와 주셔서 감사합니다. 감사합니다. –

답변

0

아마이 도움이 당신 (web.xml 파일의 추출물) :

<servlet> 
    <servlet-name>freemarker</servlet-name> 
    <servlet-class>com.thoughtequity.video.web.servlet.SiteFreemarkerServlet</servlet-class> 

    <!-- FreemarkerServlet settings: --> 
    <init-param> 
    <param-name>TemplatePath</param-name> 
    <param-value>/</param-value> 
    </init-param> 
    <init-param> 
    <param-name>NoCache</param-name> 
    <param-value>true</param-value> 
    </init-param> 
    <init-param> 
    <param-name>ContentType</param-name> 
    <param-value>text/html</param-value> 
    </init-param> 

    <!-- FreeMarker settings: --> 
    <init-param> 
    <param-name>template_update_delay</param-name> 
    <param-value>0</param-value> <!-- 0 is for development only! Use higher value otherwise. --> 
    </init-param> 
    <init-param> 
    <param-name>default_encoding</param-name> 
    <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
    <param-name>number_format</param-name> 
    <param-value>0.##########</param-value> 
    </init-param> 

    <load-on-startup>1</load-on-startup> 
</servlet> 

<!-- Action Servlet Mapping --> 
<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>/te.js</url-pattern> 
</servlet-mapping>  


<!-- Map *.ftl files to Freemarker--> 
<servlet-mapping> 
    <servlet-name>freemarker</servlet-name> 
    <url-pattern>*.ftl</url-pattern> 
</servlet-mapping>  

<!-- The Welcome File List --> 
<welcome-file-list> 
    <welcome-file>index.vm</welcome-file> 
</welcome-file-list> 
0

프리 마커 템플릿 파일은 데이터를 보여줍니다 텍스트 페이지를 생성하기 위해 처리 될 필요가있다. welcome-file-list에 넣을 수는 없습니다. 예를 들어 Struts2에서는 작업으로 리디렉션 할 수 있고 템플릿을 사용할 수 있습니다.

또한 http://wiki.metawerx.net/wiki/HowToUseAServletAsYourMainWebPage을 읽으십시오.

관련 문제