2016-03-31 9 views
-1

私はJSPで1つのツールを作成しています。 ユーザーからの入力を受け付ける複数のJSPページがあります。 今、私はその入力を他の多くのJSPページで使いたいと思います。JSPページから複数のJSPページに値を取得したい。出来ますか?

ユーザーがユーザー名を入力したときに私の最初のページとしてログインページがあるとします。これは、ポストアクションとしてフォームメソッドで使用した次のJSPページで取得できます。 しかし、私は他のJSPページで同じユーザー名を表示することができません。値を取得するためのgetProperty::私は、JSPを使用しています

<jsp:getProperty property="username" name="user2"/><br> 
<jsp:getProperty property="password" name="user2"/><br> 

示唆してくださいは、JSPで複数のページに値を取得する方法があります:useBeanの

+2

これらの値をセッションに格納します。 – Thomas

答えて

0
<% HttpSession httpSession = request.getSession(); 
      httpSession.setAttribute("user2", user2); 
    %> 

    then from any jsp page u can access that attribute for same session like this 

    <%HttpSession httpSession=request.getSession(); 
     httpSession.getAttribute("user2"); 
    %> 
+0

私は として使用しようとしましたが、それはまったく動作していません。 scope = "page"を指定すると、少なくとも次のページで動作します。 – shilpa

+0

今更新したコードを試してみてください。 – Sumeet

+0

<%HttpSession httpSession = request.getSession(); httpSession.setAttribute( "user2"、user2); %> これはサーブレットの右側に追加する必要がありますか? – shilpa

-1

はい、あなたがそれにアクセスすることができますこのように:

のlogin.jsp:

<form action ="process.jsp"> 
    Username: 
    <input type="text" name="username"> 
    Password: 
    <input type="password" name="password"> 
<input type="submit" value="Submit"> 
    </form> 

process.jsp:

<% String username = request.getParameter("username"); 
     String password = request.getParameter("password"); 
    %> 
+0

はい、これはprocess.jspにのみあります。複数のJSPページで同じユーザー名パスワードが必要な場合はどうしたらいいですか? – shilpa

+0

あなたはあなたを助けるセッションを使用する必要があります。 –

0

はい、我々はセッションを通じて価値を渡すことによってそれを行うことができます。以下のように指定します。request.getSession().setAttribute("key", <value>);

+0

大丈夫です。私はこのオプションを試してみます。 – shilpa

0

Beanをセッションに保存して、JSPから直接アクセスできるようにすることができます。 (this answer on SO参照)。

あなたのBean宣言のようなものでなければなりません:あなたは本当にデータを永続化する場合は、データベースに格納する必要があり

<jsp:useBean id="user2" class="mycompany.User" scope="session" /> 

Spring MVCApache StrutsなどのMVCフレームワークを考慮する必要がありますが、多くの概念を同化する必要があります。

関連する問題