この記事はインターン生のハックを見てもわからなかった人向けの記事です。
つまり、僕向けの記事です。 インターン初日は、Githubに書いてある通りに、Aipoの起動その他諸々と、「基礎編:入力項目の追加をしてみよう」を行いました。 javaはあまり触れたことがないので、ソースコードを見てまず苦戦、、
メモ作成フォームがどのコード(ファイル)に対応してるのかわからない、、ってことで助けを借りました。 要素の検証->Networkのtemplate属性?みたいなとこにTestFormScreenを見るそうです。 EcllipseでTestFormScreen.javaってファイルを見てみると、68行目に、
String layout_template = "portlets/html/ja/ajax-test-form.vm";
があります。 レイアウトのテンプレート?、、 とりあえず書いてある通りにajax-test-form.vmの50行目あたりを見てみます。
#ALtableheaderWide() #ALtdcaption("#ALrequired($!result.getFieldName('test_name'))")
さっぱりなので、もう一度助けを。 /test-portlet/war/src/main/webapp/WEB-INF/templates/vm/GlobalMacros.vm に書いてあるhtmlタグが、ajax-test-form.vmに対応してるらしいです。 それを参照しつつ、とりあえずURLの欄を作りたいので、タイトルパクれば作れそうってことで、 portlets/test/src/main/webapp/WEB-INF/templates/vm/portlets/html/ja/ajax-test-form.vm に
+#ALtdcaption($!result.getFieldName("url")) +#ALtditem("#ALtextfieldw100('url' $!result.Url 50 'active')")
を追加。 portlets/test/src/main/java/com/aimluck/eip/test/TestFormData.java に 「note」を頭の中でURLに置き換えながらパクりながら書く。
+ /** URL */ + private ALStringField url;
こいつをnoteの下に、
// URL + url = new ALStringField(); + url.setFieldName(ALLocalizationUtils.getl10n("REGISTRY_EDITOR_PORTLET_URL")); + url.setTrim(false);
こいつもnoteの同じようなとこの下に。
文字列みたいなのは、war/src/main/resources/com/aimluck/eip/modules/localization/AipoLocalization_ja.properties と連携してるらしいです。 (のちに、そのファイルにTODO_SETFIELDNAME_URL=URLを追加してあげて、REGISTRY_EDITOR_PORTLET_URLをTODO_SETFIELDNAME_URLに書き換えてあげました。)
そんで表示されますおそらく。
portlets/test/src/main/java/com/aimluck/eip/test/TestFormData.javaに
// URL + url.setValue(test.getUrl());
と
// URL + test.setUrl(url.getValue());
と
/** + * URLを取得します。<BR> + * + * @return + */ + public ALStringField getUrl(){ + return url; + } +
を追加してほぼほぼ完成のはずです! pgAdminでデータベース確認して、URLカラムにデータが入っているかチェックです。