0

Mysqlからデータを取得してサーブレットのテキストの値にする方法

このコードを試してみましたが、うまくいきません

 while(rs.next()){
        out.println("<form action=\"userpage\" method=\"post\">"
                + "    <input type=\"text\" name=\"ID_customer\" value=\"<%=rs.getString(1)%>\">"
                 +  "</form>");
           }
4

1 に答える 1

0

で html の動的コンテンツを生成する代わりに、別のビュー(.jsp)を作成する必要がありますServlet

まず、サーブレットまたはモデル クラスでデータベースの結果を表す を作成し、メソッドを介してそのオブジェクトをリクエスト (リクエスト スコープ) にList<T>割り当てます。listrequest.setAttribute()

public class Customer
{
   private int id;
   .....
   public void setId(int id) { }
   public int getId() { return id;}
}

サーブレットでは、

List<Customer> listOfCustomer=new ArrayList<Customer>();
//code to populate the listOfCustomer from database

request.setAttribute("list",listOfCustomer);
request.getRequestDispatcher("/show.jsp").forward(request,response);

ビューshow.jsp は次のようになります。

<c:forEach var="customer" items="${listOfCustomer}">
   <form method='post' action='servlet_url'>
        <input type="text" 
               name="ID_customer" 
               value="${customer.id}" />
   </form>
</c:forEach>
于 2012-07-07T06:30:08.203 に答える