テストポートレットの入力項目にURL欄を追加してみよう。(インターン2日目)

はじめに苦労したのは、テストポートレットがAipoのどの部分を表しているかわからない。ということで、ハックやAipoで要素の検証をしたりして色々探しました。それでもわからなかったので、アルバイトの方に質問をして何とか解決しました。


テストポートレットの確認方法

まず、手順としては、ローカル環境で起動したAipoでadmin でログインしたあと、自分のユーザー登録を行い、登録が完了したら、一度ログアウトし、再び登録したユーザー名とパスワードを入力し、ログインすると自分のAipoの画面が表示される。 自分が理解していなかったのは、ポートレットというのがアプリ内で分割されたそれぞれの機能を指すということでした。

テストポートレットの表示方法は、画面左上のマイページという文字にあるボタンから設定をクリックすると、ポートレットの追加画面が現れるので、Testというところのチェックボタンにチェックすると、画面中央にテストと表示されます。


バリデート機能の実装

次に入力された文字が半角英数字のみ(全角文字列の入力を弾く)で入力できるようにバリデーションをつける作業を行いました。

バリデート機能は、TestFormData.java内の200行目のあたりにsetValidatorというクラスがあったので、ここにバリデーションを追加していけば良いと思い、

url.setCharacterType(ALStringField.TYPE_ASCII);

を追加しました。しかし、上手くいきませんでした。

もう一度変更点を加えて、TestFormData.java内のloadFormData{}内に


// URL url.setValue(test.getUrl());

insertFormData{}内に


// URL test.setUrl(url.getValue());

を追加しました。

webページにはどのファイルでhtmlが生成されているのかわからなかったので、ハックを見て探しましたが、なかなか見つからず、苦労しましたが、以下のコードを追加しました。 portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-form.vm へ、 urlを入力する画面では、


#ALtdcaption($!result.getFieldName("url")) #ALtditem("#ALtextfieldw100('url' $!result.Url 50 'active')")

urlを表示する画面では

portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ajax-test-detial.vmへ、


#ALtdcaption($l10n.TODO_SETFIELDNAME_URL) #ALtditem($!result.Detail.Url)

を追加しました。

最後にpgAdminを確認しました。


今日は、javaのコードが何を表しているかできるだけ理解し、コードに変更を加え、確認するをいう作業の繰り返しでした。