2013-04-20 20 views
8

ben İşe yaramıyor buSunucudan gelen istek struts2 eylemine nasıl iletilir?

RequestDispatcher dispatcher=request.getRequestDispatcher("hello.action"); 
dispatcher.include(request, response); 

gibi bu kullanarak RequestDispacher gibi Eylem için Servlet bir istek iletmek istiyorum. Bu sorunu nasıl çözebilirim?

cevap

9

istekleri İLERİ (ve bir FORWARD istediğinizi belirtmesine rağmen, kodunuzun gösterdiği gibi):

<filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> <!-- If you want includes as well --> 
</filter-mapping> 
+0

mükemmel .. @ Dave –

7

Kullanım servlet

getServletContext().getRequestDispatcher("/hello.action").forward(request, response); 

kod Ayrıca ileriye kabul etmek Struts2 filtreyi yapılandırmak var da çalıştırmak için filtre ayarlayın gerekebilir Bunu yapmak için

<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>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping> 
+0

Kusursuz .. @ Roman –

İlgili konular