[Seasar-user:16636] Re: [S2Click] S2ClickForm#initのリビジョン302の変更について
Naoki Takezoe
[E-MAIL ADDRESS DELETED]
2009年 1月 9日 (金) 10:50:44 JST
竹添です。
2009/01/09 10:33 tada yukio <[E-MAIL ADDRESS DELETED]>:
>
> mini40thです。
>
>> リビジョン302はButtonの返すgetHtmlImports()を$importsで
>> 出力できるように入れた修正です。
>
> Click 1.4系では、FormがButtonを他のFiledとは別にbuttonListと
> して扱っているので、PageImports#processControlで
> form.getButtonList()して各要素をprocessControlに引き渡すよう
> に変更したところ、$importsで無事出力されるようになりました。
ハイ、その通りなのですが、
修正するにはClickServlet#createVelocityContext()を丸ごと
オーバーライドする必要があるのでこのような修正を行っていました。
> ソース抜粋
> protected void processControl(Control control) {
> processLine(control.getHtmlImports());
>
> if (control instanceof Form) {
> Form form = (Form) control;
> List controls = form.getFieldList();
> for (int i = 0, size = controls.size(); i < size; i++) {
> processControl((Control) controls.get(i));
> }
> controls = form.getButtonList();
> for (int i = 0, size = controls.size(); i < size; i++) {
> processControl((Control) controls.get(i));
> }
>
> 以下略
>
> しかし、Click 1.5系だと問題なく出力されるので、S2Clickを1.5
> 系に対応させれた方がよいのかも・・・
1.5対応はかなり大規模な修正が必要になるため、
0.4.0は1.4ベースで一度リリースしようと思っています。
今の時点でどういう対応を行うのかはもう少し考えてみます。
--
Naoki Takezoe <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内