This week's book giveaway is in the JavaFX forum.
We're giving away four copies of Introducing JavaFX 8 Programming and have Herbert Schildt on-line!
See this thread for details.
The moose likes Struts and the fly likes Can't find bean in any scope Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Introducing JavaFX 8 Programming this week in the JavaFX forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Can Watch "Can New topic

Can't find bean in any scope

Rahul Dhamecha

Joined: Mar 13, 2012
Posts: 8
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.

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());
} 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();
ViewAccountDetailsForm viewAcctDtlForm = (ViewAccountDetailsForm) form;
ViewAccountDetailsInterface viewAccountDetails = new ViewAccountDetailsBean();
return mapping.findForward("launch");
return mapping.findForward("sessionexpired");
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"
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
<%@ taglib prefix="logic" uri="" %>
<%@ taglib prefix="bean" uri="" %>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<logic:empty name="ViewAccountDetailsForm" property="accountsList">
The accountsList is empty
<logic:present name="ViewAccountDetailsForm" property="accountsList">
<%out.write("OSR: Present cleared"); %>
<table border="1px" bordercolor="blue">
<td>Account Number</td>
<td>Account Balance</td>
<logic:iterate id="accountDetail" name="ViewAccountDetailsForm" property="accountsList">
<td><bean:write name="accountDetail.accountId"/></td>
<td><bean:write name="accountDetail.accountBalance"/></td>
<%out.write("Outside write"); %>

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

Can someone suggest a work around?
Rahul Dhamecha

Joined: Mar 13, 2012
Posts: 8
Forgot to give the entries of both the action and form bean in the struts config file.

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

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


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

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

Rahul Dhamecha

Joined: Mar 13, 2012
Posts: 8
Also, below is the VO or DTO AccountDetails class


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.
I agree. Here's the link:
subject: Can't find bean in any scope
It's not a secret anymore!