Uploaded image for project: 'S2JSF'
  1. S2JSF
  2. JSF-66

f:param利用時に、リクエストパラメータよりもsessionの値(VB式で解決できる値)が優先して適用される。

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.1.3, 1.0.26
    • Affects Version/s: 1.1.2, 1.0.25
    • None

      ■概要

      f:param利用時に、リクエストパラメータよりも
      sessionの値(VB式で解決できる値)が優先して適用される。

      ■再現画面の作り方 (s2jsf-exampleの例)

      1. EmployeeListInitAction#initializeにて、
       emloyeeListをsessionにexportする。

      2. EmployeeListAction#goNextで、
       deleteを押した際に、employeeLogic#deleteを呼び出す。

      ■再現方法

      1. employeeList画面で、3行目あたりのdeleteリンクを押して、行を削除する。
      2. 画面が再描画され、行が消えることが確認できる
      3. F5でブラウザのリロード
      4. 画面が再描画され、次の行が消えてしまったことが確認できる

      何が起きてるかっていうと、、、
      1と3では、同じリクエストが飛んでいるはずなのに、
      f:paramで渡された値が、1と3の時で異なっています。

      ■原因

      <span m:inject="f:param" m:name="empno" m:value="#

      {e.empno}

      "/>

      この e.empno を解釈する際に、
      ダブルサブミット時(3.の時)には、実際に送られてきた値ではなく、
      sessionにいたemployeeListの該当行数(3行目)のemployeeのempnoが設定されます。

            Assignee:
            cero-t cero-t
            Reporter:
            cero-t cero-t
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: