orpheus
25-03-2005, 14:14
Sto sviluppando una web application utilizzando il framework Struts
e mi trovo a dover risolvere questo problema.
Ho un ActionForm di cui non conosco a priori il numero di campi se non durante il run time. Per risolvere questo ho utilizzato una HashMap.
Durante l'azione di load dei dati dal database tutto funziona correttamente e il form viene popolato correttamente, solo che al momento di effettuare la sottomisisone dei dati e inoltrare il BeanForm alla Action che deve svolgere le operazioni, Tomcat mi restituisce questa eccezione
exception
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
Non riesco a capire a cosa sia dovuto l'errore se non ipotizzare che la HashMap sia nulla dopo il load dei dati (ma è solo una mia supposizione)
spero di esser stato abbastanza chiaro nella descrizione del problema
grazie anticipatamente per qualunque aiuto
e mi trovo a dover risolvere questo problema.
Ho un ActionForm di cui non conosco a priori il numero di campi se non durante il run time. Per risolvere questo ho utilizzato una HashMap.
Durante l'azione di load dei dati dal database tutto funziona correttamente e il form viene popolato correttamente, solo che al momento di effettuare la sottomisisone dei dati e inoltrare il BeanForm alla Action che deve svolgere le operazioni, Tomcat mi restituisce questa eccezione
exception
javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
root cause
java.lang.IllegalArgumentException: No bean specified
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:837)
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
Non riesco a capire a cosa sia dovuto l'errore se non ipotizzare che la HashMap sia nulla dopo il load dei dati (ma è solo una mia supposizione)
spero di esser stato abbastanza chiaro nella descrizione del problema
grazie anticipatamente per qualunque aiuto