S2JSFを使ってみる(1)
■足し算を行なうプログラム
○add.html
Add
足し算用フォーム
calculateボタンをクリックしたら、addActionで登録されているオブジェクトの
calculateメソッドが呼ばれる。
ボタンを押した時に呼ばれるアクションクラス等の設定が不要。
○AddActionインタフェース
package sample.action;public interface AddAction {
public String calculate();
}
○AddActionImplクラス
package sample.action.impl;import sample.action.AddAction;
import sample.dto.AddDto;
import sample.logic.AddLogic;public class AddActionImpl implements AddAction{
private AddDto addDto;
public void setAddDto(AddDto addDto) {
this.addDto = addDto;
}
private AddLogic addLogic;
public void setAddLogic(AddLogic addLogic) {
this.addLogic = addLogic;
}public String calculate() {
int result = addLogic.calclate(addDto);
addDto.setResult(result);
return null;
}}
AddDtoとAddLogicはDIコンテナが勝手に取得してくれる。caluculate()メソッドは
caluculateボタンが押されたら呼ばれるメソッド。計算結果をaddDtoのresultプロパティに
セットするだけ。Pointはnullをreturnすると、呼び出したページに戻ること。
これは知ってないとわからない・・・
○AddDtoクラス
package sample.dto;import java.io.Serializable;
public class AddDto implements Serializable {
private int arg1;
private int arg2;
private int result;public int getArg1() {
return arg1;
}public void setArg1(int arg1) {
this.arg1 = arg1;
}public int getArg2() {
return arg2;
}public void setArg2(int arg2) {
this.arg2 = arg2;
}public int getResult() {
return result;
}public void setResult(int result) {
this.result = result;
}
}
入力したものが勝手にセットされるDto。diconファイルにname属性を
付けて登録するだけで、勝手にセットされるようになる。便利!
○AddLogicインタフェース
package sample.logic;import sample.dto.AddDto;
public interface AddLogic {
public int calclate(AddDto dto);
}
○AddLogicImplクラス
package sample.logic.impl;import sample.dto.AddDto;
import sample.logic.AddLogic;public class AddLogicImpl implements AddLogic{
public int calclate(AddDto dto){
return dto.getArg1() + dto.getArg2();
}
}
Logicクラス。これもdiconファイルに登録するだけで勝手にActionクラスのセッターが
呼ばれセットしてくれるみたい。
○add.dicon
唯一の設定ファイル。name属性をつけているものは、HTML上で使用される。
■足し算を行なうプログラム
○add.html
Add
足し算用フォーム
calculateボタンをクリックしたら、addActionで登録されているオブジェクトの
calculateメソッドが呼ばれる。
ボタンを押した時に呼ばれるアクションクラス等の設定が不要。
○AddActionインタフェース
package sample.action;public interface AddAction {
public String calculate();
}
○AddActionImplクラス
package sample.action.impl;import sample.action.AddAction;
import sample.dto.AddDto;
import sample.logic.AddLogic;public class AddActionImpl implements AddAction{
private AddDto addDto;
public void setAddDto(AddDto addDto) {
this.addDto = addDto;
}
private AddLogic addLogic;
public void setAddLogic(AddLogic addLogic) {
this.addLogic = addLogic;
}public String calculate() {
int result = addLogic.calclate(addDto);
addDto.setResult(result);
return null;
}}
AddDtoとAddLogicはDIコンテナが勝手に取得してくれる。caluculate()メソッドは
caluculateボタンが押されたら呼ばれるメソッド。計算結果をaddDtoのresultプロパティに
セットするだけ。Pointはnullをreturnすると、呼び出したページに戻ること。
これは知ってないとわからない・・・
○AddDtoクラス
package sample.dto;import java.io.Serializable;
public class AddDto implements Serializable {
private int arg1;
private int arg2;
private int result;public int getArg1() {
return arg1;
}public void setArg1(int arg1) {
this.arg1 = arg1;
}public int getArg2() {
return arg2;
}public void setArg2(int arg2) {
this.arg2 = arg2;
}public int getResult() {
return result;
}public void setResult(int result) {
this.result = result;
}
}
入力したものが勝手にセットされるDto。diconファイルにname属性を
付けて登録するだけで、勝手にセットされるようになる。便利!
○AddLogicインタフェース
package sample.logic;import sample.dto.AddDto;
public interface AddLogic {
public int calclate(AddDto dto);
}
○AddLogicImplクラス
package sample.logic.impl;import sample.dto.AddDto;
import sample.logic.AddLogic;public class AddLogicImpl implements AddLogic{
public int calclate(AddDto dto){
return dto.getArg1() + dto.getArg2();
}
}
Logicクラス。これもdiconファイルに登録するだけで勝手にActionクラスのセッターが
呼ばれセットしてくれるみたい。
○add.dicon
唯一の設定ファイル。name属性をつけているものは、HTML上で使用される。