Uploaded image for project: 'Mobylet'
  1. Mobylet
  2. MOBYLET-121

POSTパラメータがある場合、c:import内で指定したc:paramが消えてしまう

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Minor Minor
    • None
    • Affects Version/s: 1.0.6
    • Component/s: mobylet-core
    • None
    • Environment:
      jetty

      再現手順
      mobylet-exampleにちょっと手を入れて再現させてみました

      include.jspをちょっと修正。
      INCLUDEされました<br />
      ${param.pmm}<br />
      ${param.test}<br />
      INCLUDE終了<br />

      import.jspを追加。
      <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
      <c:import url="/include.jsp">
      <c:param name="pmm" value="test"/>
      </c:import>

      post.jspを追加
      <form method="POST" action="/import.jsp">
      <input type="text" name="test" value="moge"/>
      <input type="submit" value="post"/>
      </form>

      jetty等で起動して、ブラウザから localhost/import.jsp?test=hoge だとparam.pmmとparam.testと両方の値が表示される。
      localhost/post.jspからimport.jspへPOSTすると、param.pmmが消えてparam.testだけが表示される。
      ※POSTの際にパラメータを何も送らなければparam.pmnは消えない模様。

      回避策?
      MobyletRequest.getParameterMapの中の、if (!isRequestBodyOpened) {の条件をコメントアウトするととりあえずparam.pmmも残るようになりましたが内容よく理解してませんので弊害があるかもしれません。

            Assignee:
            stakeuchi stakeuchi
            Reporter:
            pomu0325 pomu0325
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: