我能够从我的数据库中获取列表(我使用的是 ORM,即 Hibernate)。
列表类型是我的 Bean 类。
但我面临的问题是:
- SELECT BOX 中填充的列表具有对象。不是价值观。
要求是它应该填充名称。
动作类:
package com.action;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.interceptor.SessionAware;
import org.springframework.beans.factory.annotation.Autowired;
import com.ing.aosh.service.AoshService;
import com.ing.aosh.vo.EscRprtNameVO;
import com.opensymphony.xwork2.ActionSupport;
public class FileUploadAction extends ActionSupport implements SessionAware{
Logger logger = Logger.getLogger(FileUploadAction.class.getName());
private Map session;
private String slectList;
EscRprtNameVO escNameRprtVo = new EscRprtNameVO();
private File report;
private String reportContentType;
private String reportFileName;
private List escRprtNameList = new ArrayList();
@Autowired
AoshService aoshService;
@Override
public String execute() throws Exception {
escRprtNameList = aoshService.getEscRprtNmNid();
System.out.println("escRprtNameList 2==" + ((EscRprtNameVO) escRprtNameList.get(2)).getEscRprtName());
System.out.println("escRprtNameList 4==" + ((EscRprtNameVO) escRprtNameList.get(4)).getEscRprtName());
session.put("ESCRPTDETAILS", escRprtNameList);
return "success";
}
public AoshService getAoshService() {
return aoshService;
}
public void setAoshService(AoshService aoshService) {
this.aoshService = aoshService;
}
public void setSession(Map session) {
// TODO Auto-generated method stub
this.session = session;
}
public EscRprtNameVO getEscNameRprtVo() {
return escNameRprtVo;
}
public void setEscNameRprtVo(EscRprtNameVO escNameRprtVo) {
this.escNameRprtVo = escNameRprtVo;
}
public String getSlectList() {
return slectList;
}
public void setSlectList(String slectList) {
this.slectList = slectList;
}
public List getEscRprtNameList() {
return escRprtNameList;
}
public void setEscRprtNameList(List escRprtNameList) {
this.escRprtNameList = escRprtNameList;
}
}
JSP页面:
<s:set name="esclatnRprtName" value="#session.ESCRPTDETAILS"></s:set>
<td align="left">
<s:if test="#esclatnRprtName != null">
<s:select list="esclatnRprtName" name="slectList"/>
</s:if>
</td>
对于上面的 JSP 代码,它给了我 OBJECT VALUE 的选择框
修改后的JSP PAGE
<s:set name="esclatnRprtName" value="#session.ESCRPTDETAILS"/>
<td align="left">
<s:if test="#esclatnRprtName != null">
<s:select list="esclatnRprtName" name="slectList"
listKey="esclatnRprtName['escNameRprtVo.escId']"
listValue="esclatnRprtName['escNameRprtVo.escRprtName']"/>
</s:if>
</td>
列表本身没有填充..
请求帮助或建议