2012-04-04 38 views
0

我在春天新,创造了spring3.0 我使用注释春天一个应用程序。如何从控制器数据传递到前端春季

我想从我的控制器方法把jsp的列表返回。该列表将显示在选择框中。以下是控制器和jsp部分的代码。 请帮我理解这一点。

public String showUserForm(ModelMap model) 
{  
    User user = new User(); 
    model.addAttribute(user); 
    List<String> lookingfor=service.getOptions(); 
    //want to send this "lookingfor" to the jsp  
    return "welcome";  
} 

和JSP

<td>  
    <form:select path="lookingfor"> 
    <form:option value="0" label="Select" /> 
    <form:options items="${lookingfor}" itemValue="lookingfor" itemLabel="lookingfor" />     </form:select>   
</td> 

虽然在型号添加用户,其工作正常,但是当我加入lookingfor属性。 model.addAttribute( “lookingfor”,lookingfor);

其给出以下错误。

重度:Servlet.service()为servlet和jsp抛出异常 org.springframework.beans.NotReadablePropertyException:无效 属性 '看着GFOR' bean类[java.lang.String中]的:Bean属性 'lookingfor' 是不readab乐无效或者和getter方法:是否 返回类型,吸气匹配的参数类型的setter的?

+0

我解决了我问题,所有 – Pedantic 2012-04-04 17:45:46

回答

1

你必须在lookingFor列表添加到ModelMap对象作为一个属性:

model.addAttribute("lookingfor", lookingfor); 

同时验证属性“项目值”和“itemLabel”的用法,因为项目值和itemLabel均指items的列表的属性。你在两者上使用相同的值,这是错误的。

+0

嗨,谢谢你的建议,但是当我加入g这行。我得到以下错误2012年4月5日1:07:05 org.apache.catalina.core.ApplicationDispatcher调用 SEVERE:servlet jsp的Servlet.service()抛出异常 org.springframework.beans.NotReadablePropertyException :无效的属性“看着 GFOR” bean类的[java.lang.String中]:Bean属性“lookingfor”不是readab 文件或有一个无效getter方法:是否吸气匹配 参数类型的的返回类型设定装置? – Pedantic 2012-04-04 17:07:39

0

您也可以返回ModelAndView

例如,

public ModelAndView showUserForm() 
{ 
    mv= new ModelAndView("welcome");  
    User user = new User(); 
    mv.getModel.put("user",user); 
    List<String> lookingfor=service.getOptions(); 
    //want to send this "lookingfor" to the jsp 
    mv.getModel().put("lookingfor",lookingfor);  
    return mv;  
} 

编辑:响应下面看看项目值 评论这应该是你lookingfor对象的属性之一看这个国家名单例如

<form:options items="${countryList}" itemValue="code" itemLabel="name"/> 

其中列表是国家对象的列表和代码和名称只是在JSP

EDIT2

所以全国对象的属性做

<c:forEach var="item" items="${lookingfor}"> 
<form:option value="${item}"/> 
</c:forEach> 
+0

谢谢但我收到异常SEVERE:servlet jsp的Servlet.service()抛出异常 org.springframework.beans.NotReadablePropertyException:无效的属性'lookin gfor'的bean类[java.lang.String]:Bean属性'寻找“是不是readab 文件或有一个无效的getter方法:是否返回类型,吸气匹配的 参数类型的setter的? – Pedantic 2012-04-04 17:12:58

+0

lookinfor看起来像什么? – 2012-04-04 17:18:39

+0

嗨,这是一些值的列表,需要在jsp上填充。我想要这个列表从控制器传到jsp。 – Pedantic 2012-04-04 17:24:47

0

你可以用这样也

@RequestMapping("get_vendor_tests.htm") 
    public ModelAndView getVendorTests(@RequestParam int vendorId,Map<String, Object> map){ 
     try { 
      map.put("vendor", vendorService.getVendor(vendorId)); 
      return new ModelAndView("vendor_tests","message",map); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      //e.printStackTrace(); 
      logger.error("In vendor tests for vendor Id:"+vendorId+"",e); 
      return new ModelAndView("error","message", e); 
     } 

    } 
0

传列表回用模型

public String showUserForm(ModelMap model) {  
    User user = new User();  
    model.addAttribute(user); 
    //want to send this "lookingfor" to the jsp   
    List<String> lookingfor=service.getOptions(); 
    model.addAttribute("lookingFor", lookingFor);     
    return "welcome";  
} 

在JSP显示的选项,如:

<form:select path="lookingFor"> 
     <form:option value="-" label="--Please Select"/> 
     <form:options items="${lookingFor"}"/> 
    </form:select> 
相关问题