// @InitBinder
// public void initBinder(WebDataBinder b) {
// b.registerCustomEditor(List.class, "groupList", groupListEditor);
// }

解决方案 »

  1.   

    @InitBinder这个注解什么意思,怎么用啊?给个例子
      

  2.   

    是哪个包里的,如果是某位作者写的,应该还有其他代码,
    就放这点代码,真让人猜不着摸不透啊!
    好吧,演示一下自定义注解的使用:
    package com.org.mvc.model;import java.lang.annotation.Documented;  
    import java.lang.annotation.ElementType;  
    import java.lang.annotation.Retention;  
    import java.lang.annotation.RetentionPolicy;  
    import java.lang.annotation.Target;/**
     * 在action中注解注入modelBean
     * @version 1.0
     */
    @Target(ElementType.FIELD)// 只能在字段中注解  
    @Retention(RetentionPolicy.RUNTIME)// 必须是运行时有效  
    @Documented
    public @interface MatchingBean {}// 在action中注解注入modelBean(这部分只是片段代码)
    private void matching(Field[] fields, Object object) throws Exception {
    for (int i = 0; i < fields.length; i++) {
    if (null != fields[i].getAnnotation(MatchingBean.class)) {//说明这个字段使用了自定义注解
    fields[i].set(object, Settled.MODEL_BEAN_MAP.get(fields[i].getName()).getObject());//给字段赋值(俗称注入)
    }
    }
    }
    package com.zl.web;import com.org.mvc.model.MatchingBean;
    import com.org.mvc.web.BaseAction;
    import com.zl.biz.UserBiz;
    import com.zl.entity.User;/**
     * 用户(员工)的action
     * @version 1.0
     */
    public class UserAction extends BaseAction {

    /**
     * 系统主页面
     * @return String
     */
    public String main() {
    System.out.println(userBiz);// 看看注入是否成功,结果输出:com.zl.biz.impl.UserBizImpl的一个实例
    setSessionAttr("width", paramInt("width"));
    setSessionAttr("height", paramInt("height"));
    return "main";
    }

    public String list() {
    System.out.println(bean.getName());// 封装页面提交的数据(已经封装在private User bean;中)
    return "list";
    }

    public String edit() {
    downLoadFile("/index.jsp", "index.jsp");// 下载文件
    return null;
    }

    public String file() {
    uploadFile("/upload/", new String[]{ "1.jpg", "2.jpg" });// 上传文件
    return null;
    }

    @MatchingBean
    public UserBiz userBiz;//UserBiz是个业务层接口,这里用自己的注解方式给这个bean注入(不依赖spring),在运行的时候userBiz确实就是实现类的一个实例
    private User bean; public User getBean() {
    return bean;
    } public void setBean(User bean) {
    this.bean = bean;
    }}