A Day In The Life

とあるプログラマの備忘録

jsp

タイルを貼るようにWebページを構築する

JSPかいてるとどのページにも共通する部分ってのが結構あります。 ロゴ、ヘッダー、フッターなどなど。 毎回コピペしてたんじゃ保守も大変だし微妙にデザインが狂ってくることもあります。 こういった問題に今までは <%@ include file="" %> を使ってました…

StrutsのDispatchActionでハマる

昨日から自前Frameworkの改造してます。 手始めにBaseActionの継承先をActionからDispatchActionに変えてみました。 お手本どおりstruts-configのActionMappingにparameterを追加してActionクラスのメソッドを変更。 実行してみたところjavax.servlet.Servle…

ページを指定してバリデーション

ValidatorFormを使用して複数JSPを1Form(ワンビッグフォーム)で管理するとページごとのバリデーションができなくて困ることがあります。 そんな時はValidatorActionFormを使ってやるとバリデーションをActionごとにできるので便利だったりします。 public cl…

iterateタグのidとpropertyは同じ名前にしましょう。

iterateタグのid属性とproperty属性の名前を変えていたため思わぬところでハマってしまった。 public class SampleForm extentds ActionForm{ private List resultList = new ArrayList(); … …… } こんなActionFormがあったとしてJSPで <logic:iterate id="list" name="SampleForm" property="resultList"> … <html:text name="list" property="field1" indexed="true" /> …</html:text></logic:iterate>

logic:iterate

Strutsのiterateタグをネストして使うときのBeanの指定の仕方がわからなくて苦戦しました。 FormBeanの構成が public class HogeForm extends ActionForm { private String id = null; private List resultList = new ArrayList(); ...Getter Setterは省略 }…

bean:message

Strutsの<bean:message>タグはメッセージを表示することが出来ます。 表示させるメッセージはメッセージリソースファイルにあらかじめ定義しておきます。 <bean:message>タグにはkey属性とarg属性が指定できます。 key属性にはメッセージリソースファイル内の表示したいメッセージのkeyを</bean:message></bean:message>…

カスタムタグ

ページ送りの続きです。 次へボタン、現在ページ、前へボタンのJSPをカスタムタグで実装することにしました。 ↑こんな感じのタグを作成。 カスタムタグと言えば一般的にTagSupportクラスを継承して、doStartTagメソッドをオーバーライドします。 public int …

ページ送り

Strutsでページ送り機能の実装をしています。 単純にワークテーブルを使って実装することにしました。 次へボタンと前へボタンの活性/非活性制御はbuttonタグのdisabledを使って制御しました。 <bean:define id="frm" name="actionFormName" type="jp.co.aaa.forms.ActionFormName" /> <html:submit value="Next" disabled="<%= frm.isDisabledNextButton() %>" /> といった感じです。 あとはActionFormでボタンの状態を受け取</html:submit></bean:define>…

確認画面

Strutsで更新画面を作成しています。 内容を入力して入力した内容を確認画面に表示してからDBに更新するようにしています。 確認画面のデータ表示に<bean:write>を使うと確認画面のActionFormにデータが渡らなくてうまく更新できませんでした。 前の画面で入力した内容を</bean:write>…

開発開始

Eclipseとの格闘もひと段落し、本格的に開発を開始します。 サンプルを作成中にisTokenValidでエラーが発生して苦戦しました。 <html:form>タグの下にある<html:link>タグでActionを直接呼んでいたのが原因でした。 結局JavaScriptでActionを呼ぶように変更しました。 やっと開発の</html:link></html:form>…