struts2中的下拉列表中listKey和listValue的问题
最近一直在看视频学习struts2.看到struts的表单标签中的下拉列表获取不到值了。
我查了查。主要原因就是:listKey和listValue的问题
源码如下:
一个省的类
package com.test.vo;
public class Province {
private Integer pId;
private String pName;
private String PCity;
public Province(Integer pId, String pName, String pCity) {
this.pId = pId;
this.pName = pName;
PCity = pCity;
}
public Province() { }
public Integer getpId() {
return pId;
}
public void setpId(Integer pId) {
this.pId = pId;
}
public String getpName() {
return pName;
}
public void setpName(String pName) {
this.pName = pName;
}
public String getPCity() {
return PCity;
}
public void setPCity(String pCity) {
PCity = pCity;
}
}
这是一个Action类
package com.accp.testAction;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
import com.test.vo.Province;
public class FormAction2{
/**
*
*
*/
private List<Province> province;
public List<Province> getProvince() {
return province;
}
public void setProvince(List<Province> province) {
this.province = province;
}
public FormAction2(){
province=new ArrayList<Province>();
province.add(new Province(1, "江西", "南昌"));
province.add(new Province(2, "山西", "太原"));
province.add(new Province(3, "广东", "广州"));
province.add(new Province(4, "江苏", "南京"));
}
}
还有一个表单:主要代码:
<s:select list="#fa.province" name="province" headerKey="-1" headerValue="--省--" label="籍贯" listKey="sa" listValue="sa"></s:select>
如果把listKey和listValue去了。下拉列表里就是一个对象的地址。反之则是就是空的。但是有四个模块。option里面没东西。编译源文件如下:
<td class="tdLabel"><label for="login_province" class="label">籍贯:</label></td>
<td
><select name="province" id="login_province">
<option value="-1"
>--省--</option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
------解决方案--------------------<s:select list="
province" name="province" headerKey="-1" headerValue="--省--" label="籍贯" listKey="
pId" listValue="
pId" "></s:select>
你懂得。
------解决方案--------------------listValue="pName"
------解决方案--------------------Action 里面对这个province进行封装了吗?即get(),set()方法,还有pid和pn