2016-10-01 5 views
-2

JavaクラスのObject値をJSPページに設定したい。 マイTest_ObjectコードJavaクラスのObject値をJSPに設定するPage

public class Test_Object { 
    public String email; 
    public String first_name; 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getFirst_name() { 
     return first_name; 
    } 

    public void setFirst_name(String first_name) { 
     this.first_name = first_name; 
    } 
} 

マイなtest.jspページ

<%@page import="test.io.Test_Object"%> 
<%@ 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"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>TEST</title> 
</head> 
<body> 
    <form action="loginServlet" method="post"> 
     <table> 
      <tr> 
       <td>First Name : 
       <td><input type="text" value="" name="txtFirstname" 
        value='<%=((Test_Object) request.getAttribute("reqObj")).getFirst_name()%>' /></td> 
      </tr> 
      <tr> 
       <td>Email :</td> 
       <td><input type="text" name="txtEmail" 
        value='<%=request.getParameter("email")%>' /></td> 
      </tr> 
      <tr align="center"> 
       <td colspan="2"><input type="submit" value="Submit" /></td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 

私のサーブレットコード

String jb = "{\"email\":\"[email protected]\",\"fname\":\"test01\"}"; 
JSONObject jsonObject = new JSONObject(jb); 
Test_Object obj = new Test_Object(); 
obj.email=jsonObject.getString("email"); 
obj.first_name=jsonObject.getString("fname"); 
request.setAttribute("reqObj", obj); 
RequestDispatcher view = request.getRequestDispatcher("/test.jsp"); 
view.forward(request, response); 

しかし、私はページをなtest.jspするためにリダイレクトするときのTextBoxに値表示がありません。 私はJavaでEclipse Mars 2を使用しています。

+0

展開しているサーバーと式言語を使用しない理由 – ujulu

+0

@ujulu私はこれで新しいです。この問題を解決するのを手伝ってください。 – user3441151

答えて

0

リクエストをディスパッチする際に問題が発生している可能性があります。サーブレットでは、リクエストを/otn.jspページにディスパッチしています。しかし、あなたはtest.jspページのリクエストスコープに入れたオブジェクトのプロパティを読み込もうとしています。 ですから、次の操作を行う必要があります:次のようにinput要素を変更test.jspページで

RequestDispatcher view = request.getRequestDispatcher("/test.jsp"); 
  • :サーブレットコードで

    • <input type="text" value="${reqObj.first_name}" name="txtFirstname"/> 
      <input type="text" value="${reqObj.email}" name="txtEmail" /> 
      

    ここでは表現言語を使用しています。 Tomcatバージョン7以降などの現在のWebコンテナの1つを使用しています。

    いくつかのマイナーなコメント:あなたのサーブレットコードでそれで有用な何もしていません本家

    1. は、なぜあなたはJSONObjectを作成していますか?
    2. Java型(クラス、インタフェースなど)を定義するときに、名前にアンダースコアの代わりにcamelcaseを使用します。Test_ObjectではなくTestObjectを使用し、first_nameではなくfirstNameを使用します。 Here Javaの命名規則があります。
  • +0

    問題が解決しない場合は、私にコメントを残してください。 – ujulu

    関連する問題