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

Status: Resolved
Project: S2JSF
Component/s: None
Affects Version/s: 1.1.2, 1.0.25
Fix Version/s: 1.1.3, 1.0.26

Type: Bug Priority: Major
Reporter: cero-t Assignee: cero-t
Resolution: Fixed Votes: 0
Labels: None


 Description   

■概要

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が設定されます。



 Comments   
Comment by cero-t [ 2007-07-07 ]

UIParameterの値をrequestAttributeにsetする際に
requestParameterの値を優先してsetするようにした。

Generated at Tue Dec 16 00:14:01 JST 2025 using Jira 10.6.1#10060001-sha1:a6461e220f274b29ced7ac9295492f2465fe5ef5.