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和pname有没有写错,
注意大小写,大哥你那个pname写错了,应该是pName,而不是PName