无法从springapp-servlet设置属性。无法转换属性
我试图从springapp-servlet.xml中设置值,但由于给出错误消息,无法设置属性 无法将[java.lang.String]类型的属性值转换为属性“ProductManager”所需的[ProductManager]类型;嵌套异常为java.lang.IllegalArgumentException:无法将[java.lang.String]类型的值转换为属性“ProductManager”所需的[ProductManager]类型:未找到匹配的编辑器或转换策略 我的代码 springapp-servlet.xml无法从springapp-servlet设置属性。无法转换属性,spring,Spring,我试图从springapp-servlet.xml中设置值,但由于给出错误消息,无法设置属性 无法将[java.lang.String]类型的属性值转换为属性“ProductManager”所需的[ProductManager]类型;嵌套异常为java.lang.IllegalArgumentException:无法将[java.lang.String]类型的值转换为属性“ProductManager”所需的[ProductManager]类型:未找到匹配的编辑器或转换策略 我的代码 sprin
查看剪贴簿打印的纯拷贝?
Hello控制器
查看剪贴簿打印的纯拷贝?
/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
/**
*
*@作者gopc
*/
导入java.util.Date;
导入java.util.Map;
导入java.util.HashMap;
导入org.springframework.web.servlet.mvc.Controller;
导入org.springframework.web.servlet.ModelAndView;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入org.apache.commons.logging.Log;
导入org.apache.commons.logging.LogFactory;
导入java.io.IOException;
公共类HelloController实现控制器{
私人产品经理;
受保护的最终日志记录器=LogFactory.getLog(getClass());
//在控制器中编写一些业务逻辑
公共模型和视图HandlerRequest(HttpServletRequest请求,HttpServletResponse响应)
抛出ServletException、IOException
{
String now=(new java.util.Date()).toString();
logger.info(“使用“+now”返回hello视图);
Map myModel=newhashmap();
myModel.put(“现在”,现在);
myModel.put(“products”,this.productManager.getProducts());
返回新模型和视图(“你好”,“模型”,myModel);
}
public void setProductManager(ProductManager ProductManager)
{
this.productManager=productManager;
}
}
SimpleProductManager
查看剪贴簿打印的纯拷贝?
/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
/**
*
*@作者gopc
*/
导入java.util.List;
导入org.apache.commons.logging.LogFactory;
导入org.apache.commons.logging.Log;
公共类SimpleProductManager实现ProductManager{
私人上市产品;
受保护的最终日志记录器=LogFactory.getLog(getClass());
公共列表产品()
{
logger.info(“内部getProducts”);
退货产品;
}
公共无效增量价格(整数/个)
{
if(产品!=null)
{
用于(产品生产:产品)
{
double newPrice=prod.getPrice()*(100+每)/100;
产品设定价格(新价格);
}
}
}
公共产品(列出产品)
{
logger.info(“内部设置产品”);
这一点。产品=产品;
}
}
更改
<property name="productManager" value="productManager"/>
<!-- sets "productManager" to "productManager" String -->
致:
现在,您正在将
HelloController
的productManager
属性设置为“productManager”
字符串,您(可能)想要的是将其与前面在上下文中定义的productManager
bean连接起来。当然,谢谢,我可以参考productManager。
view plaincopy to clipboardprint?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author gopc
*/
import java.util.Date;
import java.util.Map;
import java.util.HashMap;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.IOException;
public class HelloController implements Controller {
private ProductManager productManager;
protected final Log logger = LogFactory.getLog(getClass());
//Writing some business logic in the controller
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String now = (new java.util.Date()).toString();
logger.info("returning hello view with " + now);
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("now", now);
myModel.put("products", this.productManager.getProducts());
return new ModelAndView("hello", "model", myModel);
}
public void setProductManager(ProductManager productManager)
{
this.productManager = productManager;
}
}
view plaincopy to clipboardprint?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author gopc
*/
import java.util.List;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
public class SimpleProductManager implements ProductManager{
private List<Product> products;
protected final Log logger = LogFactory.getLog(getClass());
public List<Product> getProducts()
{
logger.info("inside getProducts ");
return products;
}
public void increasePrice (int per)
{
if (products != null)
{
for (Product prod : products)
{
double newPrice = prod.getPrice() * (100 + per) /100;
prod.setPrice(newPrice);
}
}
}
public void setProducts(List <Product> products )
{
logger.info("inside setProducts ");
this.products = products;
}
}
<property name="productManager" value="productManager"/>
<!-- sets "productManager" to "productManager" String -->
<property name="productManager" ref="productManager"/>
<!-- sets "productManager" to bean with id="productManager" -->