以下のようなhogeとfugaの2つのページが同一サブアプリケーションにあったとします(アクセッサは省略)。
hoge
public class HogePage {
private String aaa;
@SubapplicationScope
private String bbb;
private String ccc;
private String ddd;
public Class doHoge() {
ccc = "ccc";
return FugaPage.class;
}
public Class doNothing() {
return null;
}
public Class initialize() {
aaa = "aaa";
bbb = "bbb";
ddd = "ddd";
return null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja"
lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
</head>
<body>
<form id="form">
<input id="aaa" type="text" />
<span id="bbb" />
<span id="ccc" />
<span id="ddd" />
<input id="doHoge" type="submit" value="next" />
<input id="doNothing" type="submit" value="self" />
</form>
</body>
</html>
fuga
public class FugaPage {
private String aaa;
private String bbb;
private String ccc;
private String ddd;
public Class doFuga() {
return HogePage.class;
}
public Class doNothing() {
return null;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:te="http://www.seasar.org/teeda/extension" xml:lang="ja"
lang="ja">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8" />
</head>
<body>
<form id="form">
<span id="aaa" />
<span id="bbb" />
<span id="ccc" />
<span id="ddd" />
<input id="doFuga" type="submit" value="back" />
<input id="doNothing" type="submit" value="self" />
</form>
</body>
</html>
- aaaは入力項目なのでサブアプリケーションスコープ
- bbbは@SubapplicationScopeによってサブアプリケーションスコープ
- cccはhogeからfugaへ遷移するとサブアプリケーションスコープに(謎)
- dddは何もないのでサブアプリケーションスコープにはならない
初期状態
aaa |
aaa |
bbb |
bbb |
ccc |
null |
ddd |
ddd |
初期状態⇒self
aaa |
aaa |
bbb |
bbb |
ccc |
null |
ddd |
null |
初期状態⇒next
aaa |
aaa |
bbb |
bbb |
ccc |
ccc |
ddd |
null |
初期状態⇒next⇒self
aaa |
aaa |
bbb |
bbb |
ccc |
ccc |
ddd |
null |
初期状態⇒next⇒back
aaa |
aaa |
bbb |
bbb |
ccc |
ccc |
ddd |
ddd |
初期状態⇒next⇒back⇒self
aaa |
aaa |
bbb |
bbb |
ccc |
ccc |
ddd |
null |
ちょっとcccの動きは想定外で戸惑ってしまいました。