tapestry问题,内详,请进
遇到一个小问题,两天没搞定,请大家帮忙看看!
有两个页面,Home.html和Confirm.html。点击Home上的一个链接后,动态生成一个List,传到Confirm,生成一组radio。选择其中一个,提交后。为什么得到的是null。该怎么改?
代码如下:
Home.html
<a href=# jwcid="@ActionLink" listener="ognl:listeners.submit">Confirm</a>
Home.java
// 点击后生成一个list,传给Confirm
public void submit(IRequestCycle cycle) {
List list = new LinkedList();
list.add("RED");
list.add("GREEN");
list.add("BLUE");
Confirm confirmPage = (Confirm) cycle.getPage("Confirm");
confirmPage.setColorList(list);
cycle.activate(confirmPage);
}
Confirm.html
// 从Home取得list后,显示正常。但是提交后,得到的是null
<form jwcid="@Form">
<span jwcid="@RadioGroup" selected="ognl:color">
<span jwcid="@Foreach" source="ognl:colorList" value="ognl:item" >
<input type="radio" jwcid="@Radio" value="ognl:item"/>
<span jwcid="@Insert" value="ognl:item" /><br>
</span>
</span>
<input type="submit" jwcid="@Submit" listener="ognl:listeners.submit" />
</form>
Confirm.page
<property-specification name="item" type="java.lang.String"/>
<property-specification name="color" type="java.lang.String"/>
Confirm.java
public abstract class Confirm extends BasePage {
private List colorList;
public abstract String getColor();
protected void initialize() {
super.initialize();
colorList = null;
}
public List getColorList() {
return colorList;
}
public void setColorList(List colorList) {
this.colorList = colorList;
}
public void submit(IRequestCycle cycle) {
String color = getColor();
System.out.println(color);
}
}