hailowell
纵马饮白虹
采纳率37.5%
2015-12-24 08:52 阅读 1.9k
已采纳

form表单提交后报错,具体内容进来看.

1

form提交报错
严重: Servlet.service() for servlet jsp threw exception
tag 'select', field 'list', name 'personcost.pid': The requested list key 'polist' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
我的form表单
图片说明
图片说明
哪里错了?为什么错?怎么办?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    fk002008 lambda-fk 2015-12-24 09:43

    你看错误信息就知道:
    The requested list key 'polist' could not be resolved as a collection/array/map/enumeration/iterator

    list属性定义的变量在Action中必须是一个可以迭代的对象如 数组,列表,Map等。
    你在你的Action中看看这个polist是怎么定义的。
    是没有定义getter和setter还是 你把它的类型定义错了。

    点赞 评论 复制链接分享
  • Royal_lr Royal_lr 2015-12-24 09:07

    改成这样s:select name="personcost.{pid}"试试

    点赞 评论 复制链接分享
  • clinuxyj DeepJoseph 2015-12-24 09:16

    原因是由于 Action 里面没有写对应的 get() ,set() 方法, 或者写错了。

    点赞 评论 复制链接分享
  • clinuxyj DeepJoseph 2015-12-24 09:17

    原因是由于 Action 里面没有写对应的 get() ,set() 方法, 或者写错了。

    点赞 评论 复制链接分享
  • wohenni0931 wohenni0931 2015-12-24 09:47

    应该是你后台的属性,没有和组件的类型匹配上

    点赞 评论 复制链接分享
  • hailowell 纵马饮白虹 2015-12-24 12:05

    polist是一个list,并且有get和set方法.

    post属性:
    public class Post {
    private int pid; //职位编号
    private String pname; //职位名称
    private int bid;
    action中的post和polist:
    private Post post;
    private List polist;
    public List getPolist() {
    return polist;
    }
    public void setPolist(List polist) {
    this.polist = polist;
    }
    public Post getPost() {
    return post;
    }
    public void setPost(Post post) {
    this.post = post;
    }
    orm映射:
    <!-- 职位 -->
    <!-- 职位编号 -->


    <!-- 职位名称 -->
    <!-- 工资等级 -->

    没看出哪错了

    点赞 评论 复制链接分享

相关推荐