我在业务逻辑层下了如下代码; List list = addmoney.getList(username);
session.setAttribute("list",list);
然后再表现层的惊悚片文件中用Object list= session.getAttribute("list");获得了一个对象,对象里面包含了集合list的内容。但是我需要的是这个对象中的各个值(因为我前面传进去的是一个list集合,它里面包含编号,名称等信息),但是在jsp文件中获得的是一个对象,怎么获得这个对象中包含的编号,名称等信息呀?
你要先把这个对象变成JSON字符串之后再去获取
jsp中也可以写java代码
比如这个
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
//继续往下写
Object list= session.getAttribute("list")
for(int i =0 ;i<list.size();i++;){
对象 duixing = list.get(i);
//获取到对象之后就获取到属性了
}
%>
或者用 eval()函数
或者楼上说的 转换成Json 然后tostring
一种是转换为json数据在取值,一种是在脚本里面直接去到对象的值
/**
* 将对象转换成JSON字符串,并响应回前台
*
* @param object
* @param includesProperties
* 需要转换的属性
* @param excludesProperties
* 不需要转换的属性
*/
public void writeJsonByFilter(Object object, String[] includesProperties, String[] excludesProperties) {
try {
FastjsonFilter filter = new FastjsonFilter();// excludes优先于includes
if (excludesProperties != null && excludesProperties.length > 0) {
filter.getExcludes().addAll(Arrays. asList(excludesProperties));
}
if (includesProperties != null && includesProperties.length > 0) {
filter.getIncludes().addAll(Arrays. asList(includesProperties));
}
logger.info("對象轉JSON:要排除的屬性[" + excludesProperties + "]要包含的屬性[" + includesProperties + "]");
String json;
String User_Agent = getRequest().getHeader("User-Agent");
if (StringUtils.indexOfIgnoreCase(User_Agent, "MSIE 6") > -1) {
// 使用SerializerFeature.BrowserCompatible特性会把所有的中文都会序列化为\uXXXX这种格式,字节数会多一些,但是能兼容IE6
json = JSON.toJSONString(object, filter, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect, SerializerFeature.BrowserCompatible);
} else {
// 使用SerializerFeature.WriteDateUseDateFormat特性来序列化日期格式的类型为yyyy-MM-dd hh24:mi:ss
// 使用SerializerFeature.DisableCircularReferenceDetect特性关闭引用检测和生成
json = JSON.toJSONString(object, filter, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect);
}
logger.info("轉換后的JSON字符串:" + json);
getResponse().setContentType("text/html;charset=utf-8");
getResponse().getWriter().write(json);
getResponse().getWriter().flush();
getResponse().getWriter().close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 将对象转换成JSON字符串,并响应回前台
*
* @param object
* @throws IOException
*/
public void writeJson(Object object) {
writeJsonByFilter(object, null, null);
}
可以直接在jsp页面的java代码片中编写代码获取这个对象,那么久可以直接操作对象的属性了。
如果要在js中获取这个对象,那么传入之前需要对其进行处理成js能识别的对象如json格式的字符串。
session取值默认object,强转成list,然后写个c:forEach标签取,完事了
方便贴出你的这个类吗?拜托了