Solved

Communication between two session beans in jsp

Posted on 2008-06-26
3
271 Views
Last Modified: 2008-06-26
Hi.
I'm creating a rather complex webpage here, and keeping all methods in one session bean creates an enormous class.
I therefore wonder if it is possible break this into several session beans.
The problem is communication between the session beans.
Say Im using one session for selecting language, and one session for displaying some content.
The java class for language selection is simple: (See code snippet)

Problem: The answer from Content is always 1.

Any idea why?
Or any neat trick to avoid this?

Jsp:

<jsp:useBean id="lang" class="Language" scope="session" />

public class Language implements Serializable {

   private int language = 1;

   private static Reference ref = null;

   public int getLanguage() { return language;}

   public void setLanguage(int language) { this.language = language; }

   public String languageTest() { return language select =  + this.language; }

   public static synchronized Language getDefault() {

       Language obj;

        if (ref != null) {

            obj = (Language) ref.get();

        } else {

            obj = null;

        }

        if (obj == null) {

            obj = new Language ();

            ref = new WeakReference(obj);

        }

        return obj;

    }

}

and the java class for content is :

Jsp:

<jsp:useBean id="cont" class=" Content " scope="session" />

public class Content implements Serializable {

   private Language language;

   public Content() { language = Language.getDefault(); }   

   public String contentBlock() {

       if(language.getLanguage() == 1) return Some text;

       if(language.getLanguage() == 2) return Some other text;

   }

   public String languageTest() { return language select =  + this.language. getLanguage(); }

}

Open in new window

0
Comment
Question by:kristian_gr
  • 2
3 Comments
 
LVL 92

Expert Comment

by:objects
Comment Utility
You could have your session bean encapsulate the various beans u need

public class MySessionBean implements Serializable
{
   private Language language = new Language();
   private Content content = new Content();

    ...

0
 

Author Comment

by:kristian_gr
Comment Utility
hmm. not quite what I was looking for.

Is it possible to something like:
public class MySessionBean extends Language, Content

0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
Comment Utility
> hmm. not quite what I was looking for.

may be a better way, not really my area

> Is it possible to something like:
> public class MySessionBean extends Language, Content

No you can only extend a single class

0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This video teaches viewers about errors in exception handling.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now