Hello, i'm trying to solve this problem in delevoping my application but i still have found the solution:
Here 's
struts-config.xml action mapping:
<action-mappings>
<action name="LoginForm" path="/login" scope="session" type="com.myapp.struts.LoginAction" validate="false">
<forward name="success" path="/success.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
<action name="SuccessForm" path="/success" scope="request" type="com.myapp.struts.SuccessAction" validate="false">
<forward name="dettaglio" path="/dettail.jsp"/>
<forward name="errore" path="/login.jsp"/>
<forward name="recapiti" path="/recap.jsp"/>
</action>
<action path="/Welcome" forward="/welcomeStruts.jsp"/>
</action-mappings>
the forward page dettail.jsp is ok here's the code:
<logic:greaterThan name="size" value="0">
<table width="90%" border="1" cellpadding="2" cellspacing="2">
<tr><td align="center" colspan="5">Recapiti locale</td></tr>
<tr><td align="center" colspan="5">
<logic:iterate property ="lines_recapiti" name="SuccessForm" id="riga" >
<tr>
<td align="right"><bean:write name="riga" property="codiceProc" /></td>
<td align="right"><bean:write name="riga" property="descProc" /></td>
<td align="right"><bean:write name="riga" property="impAvere"/> </td>
<td align="right"><bean:write name="riga" property="impDare" /></td>
<td align="right"><bean:write name="riga" property="impDiff" /></td>
</tr>
</logic:iterate>
</logic:greaterThan>
but the other forward page named recap.jsp having same iteration :
<logic:iterate property ="lines_recapiti" name="SuccessForm" id="riga" >
<tr>
<logic:present name ="riga">
<td align="right"><bean:write name="riga" property="codiceProc" /></td>
<td align="right"><bean:write name="riga" property="descProc" /></td>
<td align="right"><bean:write name="riga" property="impAvere"/> </td>
<td align="right"><bean:write name="riga" property="impDare" /></td>
<td align="right"><bean:write name="riga" property="impDiff" /></td>
</logic:present>
<logic:notpresent name="riga"> DON'T FIND ANY ROWWWW</logic:notpresent>
give me the error:
javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean: "riga" in any scope
Here is
java code in SuccessAction for put data retrived from DB into ArrayList named riga
SuccessForm formBean = (SuccessForm) form;
.......
" int k = riga.size();
totAvere+=obj2.totAvere;
totDare+=obj2.totDare;
totSaldo+=obj2.totSaldo;
formBean.setLines_recapiti(riga);
logger.info("riga caricata:");
logger.info(k);"
and here is formBean property:
public class
SuccessForm extends org.apache.struts.action.ActionForm {
private
String gruppo;
private String stato ;
private String Ciclo;
private List lines = null;
private List lines_recapiti = null;
public List getLines_recapiti() {
return lines_recapiti;
}
public void setLines_recapiti(List lines_recapiti) {
this.lines_recapiti = lines_recapiti;
}
cheking on log : riga size is equal to 1 ( I've found 1 row on DB) it seems correct the list is not empty
but when i try to forward
jsp page recap.jsp i have the error:
org.apache.jasper.JasperException: An exception occurred processing JSP page /recap.jsp at line 33
30: <logic:iterate property ="lines_recapiti" name="SuccessForm" id="riga" >
31: <tr>
32: <logic:present name ="riga">
33: <td align="right"><bean:write name="riga" property="codiceProc" /></td>
34: <td align="right"><bean:write name="riga" property="descProc" /></td>
35: <td align="right"><bean:write name="riga" property="impAvere"/> </td>
36: <td align="right"><bean:write name="riga" property="impDare" /></td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean: "riga" in any scope
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:852)
Any help will be appreciate because i loose 2 day trying to solve this problem and headache is incoming.
Thanks in advance