热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎么用取HashMap类型的值?

目前正在学着使用标签,以下这段已经可以了,取的是ArrayList~但是HaspMap取不出来了就,报错<%--###########循环显示###########--%&
目前正在学着使用标签,
以下这段已经可以了,取的是ArrayList~
但是HaspMap取不出来了就,报错...

<%-- ########### 循环显示 ########### --%>


${books.id}

   ${books.name}


${books.basePrice}


 
 





怎么学习标签啊?到http://jakarta.apache.org/当什么呐?

11 个解决方案

#1


这边是我写的取HashMap的c:forEach...
<%-- ########### 循环显示 ########### --%>






${shopcart.product.id}

  
${shopcart.product.name}

${shopcart.product.basePrice}


size="4" Onblur="Javascript:if(this.value<1){alert('对不起,产品数量不能小于 1');
this.focus();}else{number.value=this.value;}" />

  ${shopcart.product.basePrice*shopcart.num}

 






######################
报错信息如下:
exception 

javax.servlet.ServletException: Unable to find a value for "product" in object of class "java.util.HashMap$Entry" using operator "."
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.shopcart_jsp._jspService(org.apache.jsp.shopcart_jsp:257)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

#2


#3


"${shopcart.product.id}"===========>"${shopcart.id}"

#4


model是这样设计的:

public class Shopcart {
private Product product;
private int num;
...}

public class Product extends AbstractProduct implements java.io.Serializable {
// Constructors
/** default constructor */
public Product() {
}
/** minimal constructor */
public Product(String name, Float basePrice, String author, String publish) {
super(name, basePrice, author, publish);
}

/** full constructor */
public Product(Category category, String name, String description,
  Float basePrice, String author, String publish, Integer pages,
  String image, Set orderlines) {
  super(category, name, description, basePrice, author, publish, pages,
       image, orderlines);
}
}

#5


以下是我的ShopcartAction:
public class ShopcartAction extends MappingDispatchAction {
 private int num=1;
 private ShopcartBiz biz = (ShopcartBiz) BeanFactory.getBean("ShopcartBiz");
 private ProductBiz productBiz= (ProductBiz)BeanFactory.getBean("ProductBiz");
 private Product product;
 
public ActionForward toList(ActionMapping mapping, ActionForm form, 
                  HttpServletRequest request, HttpServletResponse response) {

Map shopcarts = biz.findAllShopcarts();
float sum=biz.getSumPrice();

HttpSession session=request.getSession();
session.setAttribute("LIST", shopcarts);
session.setAttribute("SUM", sum);
return mapping.findForward("to_list");
}
.................................
ShopcartBiz 是接口,实现类如下:
public class ShopcartBizImpl implements ShopcartBiz {
private Map shopcarts=new HashMap();
private float sumPrice=0;

public Map findAllShopcarts() {
return shopcarts;
}
...
后台打印显示程序应该没问题,主要是显示页面没拿到东西,估计是我的EL表达式写得不对...

#6


晕,猜不到你的意思

#7


你的HashMap是这样的结构,Map shopcarts=new HashMap(); 
所以在中,你想取出Map中的key,就用${shopcart.key},Map中的value用${shopcart.value}。当然,若value中是个POJO的话,可以用${shopcart.value.id},${shopcart.value.name}等来取出POJO相应的属性。不过你的好像应该用
${shopcart.value.product.name}.因为你的product是shopcart的一个属性。只是大概看了一下你的代码,不知道说的清楚不清楚,希望LZ能看明白。

#8


楼上的说的对,我再试下,应该是要加.value...


${item.key.name}-
${item.value}

 

#9


再问个小问题:怎么学习标签啊?

有什么资料不?下载啥来看看?

#10


请教下
怎么学习标签,有什么好的下载不?
==================
问完这个就结帖,授人以鱼不如授人以渔...

#11


jstl标签、el语句、struts标签一般书上都有说
如果用struts做为自己的mvc框架的话,那建议你学学struts标签
可以看看<>

推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • JS实现一键分享功能
    本文介绍了如何使用JS实现一键分享功能,并提供了2019独角兽企业招聘Python工程师的标准。同时,给出了分享到QQ空间、新浪微博和人人网的链接。 ... [详细]
  • 开发笔记:UEditor调用上传图片上传文件等模块
    1、引入ue相关文件,写好初始代码为了更好的封装整一个单独的插件,这里我们要做到示例化ue后隐藏网页中的编辑窗口,并移除焦点。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • JavaScript和HTML之间的交互是经由过程事宜完成的。事宜:文档或浏览器窗口中发作的一些特定的交互霎时。能够运用侦听器(或处置惩罚递次来预订事宜),以便事宜发作时实行相应的 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • ①页面初始化----------收到客户端的请求,产生相应页面的Page对象,通过Page_Init事件进行page对象及其控件的初始化.②加载视图状态-------ViewSta ... [详细]
  • struts2重点——ValueStack和OGNL
    一、值栈(ValueStack)1.实现类:OGNLValueStack2.对象栈:CompoundRoot( ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
author-avatar
Grace990808
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有