• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • paul wheaton
  • Ron McLeod
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Piet Souris
Bartenders:

Can't find bean in any scope

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
I have a page called index.jsp that takes the username and password.
The form is submitted to a servlet that verifies the username and password. If they are valid, I use a sendRedirect to redirect the request to an action(ViewAccountDetailsAction) inside my Struts 1.3 application.

I am using the ViewAccountDetailsForm class as my ActionForm. This has been associated with the above action class in the struts-config.xml file.

ViewAccountDetailsForm.java

import java.util.List;
import org.apache.struts.action.ActionForm;
import pojos.login.AccountDetails;
public class ViewAccountDetailsForm extends ActionForm {
private static final long serialVersionUID = 1L;
private List<AccountDetails> accountsList;

public List<AccountDetails> getAccountsList() {
return accountsList;
}
public void setAccountsList(List<AccountDetails> accountsList) {
this.accountsList = accountsList;
System.out.println("This is the size of accountList of ViewAccountDetailsForm "+this.accountsList.size());
}
}


ViewAccountDetailsAction.java method inside which the account details are gathered.

import interfaces.login.ViewAccountDetailsInterface;

public ActionForward viewDtls(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
//check for SessionActivity
HttpSession session = request.getSession();
if(null!=session){
if(null!=session.getAttribute("username")){
System.out.println("OSR");
System.out.println(session.getAttribute("username").toString());
ViewAccountDetailsForm viewAcctDtlForm = (ViewAccountDetailsForm) form;
ViewAccountDetailsInterface viewAccountDetails = new ViewAccountDetailsBean();
viewAcctDtlForm.setAccountsList(viewAccountDetails.getAccountDetails
(session.getAttribute("username").toString()));
return mapping.findForward("launch");
}
else
return mapping.findForward("sessionexpired");
}
else
return mapping.findForward("sessionexpired");
}

launch.jsp - file on which all my account details must be displayed

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<logic:empty name="ViewAccountDetailsForm" property="accountsList">
The accountsList is empty
</logic:empty>
<logic:present name="ViewAccountDetailsForm" property="accountsList">
<%out.write("OSR: Present cleared"); %>
<table border="1px" bordercolor="blue">
<tr>
<td>Account Number</td>
<td>Account Balance</td>
</tr>
<logic:iterate id="accountDetail" name="ViewAccountDetailsForm" property="accountsList">
<tr>
<td><bean:write name="accountDetail.accountId"/></td>
<td><bean:write name="accountDetail.accountBalance"/></td>
</tr>
</logic:iterate>
</table>
</logic:present>
<%out.write("Outside write"); %>
</body>
</html>


Problem:
I am getting Can't find ViewAccountDetailsForm bean in any scope

Can someone suggest a work around?
 
Rahul Dhamecha
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Forgot to give the entries of both the action and form bean in the struts config file.

<struts-config>
<form-beans>
<form-bean name="loginPage" type="form.userLogin.UserLoginForm"></form-bean>
<form-bean name="viewDetails" type="form.userLogin.ViewAccountDetailsForm"></form-bean>
</form-beans>

<global-forwards>
<forward name="sessionexpired" path="sessionExpired.jsp"></forward>
</global-forwards>

<action-mappings>

<action path="/userLogin" type="userlogin.UserLoginValidation" name="loginPage"
validate="false" parameter="function">
</action>

<action path="/viewAccountDetails" type="userlogin.ViewAccountDetailsAction" name="viewDetails"
validate="false" parameter="function">
<forward name="launch" path="/viewAccountDetailsPage.jsp"></forward>
</action>

</action-mappings>
</struts-config>
 
Rahul Dhamecha
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Also, below is the VO or DTO AccountDetails class

import java.io.Serializable;

public class AccountDetails implements Serializable{

/**
*
*/
private static final long serialVersionUID = 1L;
private String accountId;
private String accountHolderName;
private String accountType;
private String accountBalance;
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId;
}
public String getAccountHolderName() {
return accountHolderName;
}
public void setAccountHolderName(String accountHolderName) {
this.accountHolderName = accountHolderName;
}
public String getAccountType() {
return accountType;
}
public void setAccountType(String accountType) {
this.accountType = accountType;
}
public String getAccountBalance() {
return accountBalance;
}
public void setAccountBalance(String accountBalance) {
this.accountBalance = accountBalance;
}

}

I have made a list of objects of the above class.
reply
    Bookmark Topic Watch Topic
  • New Topic