2012-04-09 10 views
1

私はTomcat7を使用しています。私のプロジェクトの構造は次のとおりです。HttpServletRequestWrapperを使用しているときにjsp paramを送信できませんか?

  • as1.jsp

  • as2.jsp

web.xmlの内容は次のとおりです。HttpServletRequestWrapperクラスに

<filter-mapping> 
      <filter-name>filter1</filter-name> 
      <url-pattern>/as1.jsp</url-pattern> 
     </filter-mapping> 

filter1を使用しました。

... 
    RequestWrapper requestWrapper = new RequestWrapper(req); 
    requestWrapper.setParameter("params", new String[]{Item.getParams()}); 
    chain.doFilter(requestWrapper, response); 
...... 

as1.jspの内容は次のとおりです。

hi <br/> 
<jsp:include page="as2.jsp"> 
     <jsp:param name="test" value="true" />    
</jsp:include> 

as2.jspの内容は次のとおりです。

as2 runed 
<br/> 
test:<%= request.getParameter("test") %> 

私はプロジェクトを展開するとき、私はこの結果を得る:

hi 
as2 runed 
test:null 

と削除をHttpServletRequestWrapperfilter1私は正しい結果を得る:

hi 
as2 runed 
test:true 

filter1HttpServletRequestWrapperrequest.getParameter("test")を取得する方法、私を助けてください? ありがとうございます。

+0

'requestWrapper.setParameter(" params "、new String [] {Item.getParams()});を使用します。 'そして' request.getParameter( "test") 'を実行します。たぶん 'request.getParameter(" params ")'を試してみてください。 –

+0

request.getParameter( "params")は正しい値を返しますが、jsp paramsはnull値を返します –

答えて

0

Filter RequestWrapperは、.getParameter()メソッドをオーバーライドしており、元の要求に委任していないようです。

+0

提案したソリューションについて詳しく説明してください。 –

+0

ありがとうございます。問題は修正された.getParameter()メソッドで解決されました。 –

+0

どのように解決されましたか? –

関連する問題