這段代碼有什麼問題?Spring MVC自定義類屬性編輯器
我有一個綁定到一個類「Fornitore fornitore」屬性是這樣的:
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Fornitore.class, new PropertyEditorSupport() {
@Override
public void setAsText(String fornitoreId) throws IllegalArgumentException {
logger.info("FORNITORE:: setValue");
setValue((Fornitore) fornitoreService.getFornitore(fornitoreId));
}
@Override
public String getAsText() {
logger.info("FORNITORE:: getValue");
if (getValue() == null) {
return "";
} else {
return ((Fornitore) getValue()).getRagioneSociale();
}
}
});
}
與結束:
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at it.trew.prove.model.beans.Fornitore_$$_javassist_0.getRagioneSociale(Fornitore_$$_javassist_0.java)
at it.trew.prove.web.controllers.ScadenziarioController$1.getAsText(ScadenziarioController.java:56)
你有理智的人...但是...我想知道如果我理解自定義pojos的propertyeditor-form-binding機制。這是對的嗎? – 2012-03-11 19:46:21
似乎喜歡它,儘管我沒有必須多使用\ @InitBinder。如果您使用Spring 3.1,您可能需要查看RequestMappingHandlerAdapter,它允許您配置其他參數類型以及如何爲任何\ @ RequestMapping處理的方法填充它們。 – drobert 2012-03-14 21:08:29
嘿,看來我不知道如何輸出一個文字'@'而沒有這個想法我試圖通知用戶。 \並不漂亮,有沒有更好的方法? – drobert 2012-03-14 21:08:56