<spring:bind>显示bean类的Map类型属性</spring:bind>

时间:2011-11-17 07:52:36

标签: java spring-mvc

我有一个登录类

import.java.util.HashMap;
import java.util.Map;

public class Login implements serializable {

    private Map<String,Object> values;    

        public Map<String, Object> getValues() {    
            return values;    
        }    

        public void setValues(Map<String, Object> values) {    
            this.values = values;    
        }  
}    

我在LoginController的Map中添加了两个值

Login login=new Login();

Map<String,Object> map=new HashMap<String, Object>();  
    map.put("loginName", "abc");  
    map.put("loginid", "ddd");

login.setValues(map);

我想使用login.jsp访问这些值 “spring:bind path”。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我对答案的第一次尝试是尝试解决看似潜在的问题,因此,这不会是对问题的简单回答。

Login对象的设计看起来很糟糕。不是将已知值(登录名和登录ID)存储在Map中,而是将它们作为类的成员公开。我的意思是,这样做:

public class Login
{
  private String loginName;
  private String loginId;

  public Login()
  {
  }

  public Login(final String theLoginName, final String theLoginId)
  {
    loginName = theLoginName;
    loginId = theLoginId;
  }

  ... getters and setters.
}

... somewhere in the code
Login login = new Login("abc", "blammy");

aModelMap.addAttribute(login);

接下来,使用spring:form

而不是使用spring:bind来获取Login值

//