0

information.jsp という名前の jsp ファイルに textarea を作成し、ユーザーが送信をクリックしたときにそこからの入力をデータベースに保存しようとしています。以下に示すように、information.hbm.xml ファイルを作成しました。

情報.jsp:

<textarea id = "desc" rows="5" cols="115" onkeypress="textCounter(this,20);"><c:out value="${informationView.storedDescription}"/></textarea>

information.hbm.xml

<hibernate-mapping>
  <class name="Information" table="INFO_USER">
      <id name="id" type="long" column="INFO_ID">
  <generator class="native">
    <param name="sequence">ID_SEQ</param>
  </generator>
</id>

  <property name="description" column="DESC"/>

</class>
</hibernate-mapping>

Information次に、データベースから情報を格納および取得するための説明用に、ゲッターとセッターを含むクラスを作成しました。送信イベントからテキストエリアから説明に入力を取得する方法がわかりません...

私が読んだInformationActionことから、誰かが送信をクリックしたときに実際に保存するには、作成する必要があると思いますが、やはりわかりません。私はHibernateを初めて使用し、入力をデータベースに保存し、誰かがページを再度開いたときにテキストエリアに自動的にロードするために取得するプロセスでどこが間違っていたのか少し迷っています。

テキストエリアからデータベースに入力を渡す方法がわかりません。私はこれに長い間取り組んでいて、それを理解できないので、どんな助けも素晴らしいでしょう. さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

はい、使用する Web フレームワークに応じて、InformationActionまたはのいずれかが必要になります。InformationContollerアクションまたはコントローラーにはdescription、テキスト領域の値にマップするプロパティが必要です。Struts2 や Spring MVC などの Web フレームワークを使用する場合、これは非常に簡単に実現できます。

今、休止状態の部分に来ています。アクションSessionには、データベースに対して値を読み書きできる hibernate オブジェクトが必要です。次に、フロントエンドから取得しInformationた を使用してオブジェクトを構築し、セッションでメソッドを呼び出すことができます。descriptionsaveOrUpdate()

コードは次のようになります

public class InformationAction {
    //Maps to text area value. Needs getter and setter
    private String description;

    //Inject session from hibernate configuration
    private Session session;

    public void someMethod() {
     Information information = new Information();
     information.setDescription(description);
     session.saveOrUpdate(information);
   }
}

これにより、情報テーブルに行が保存されます。

于 2012-08-14T02:46:28.253 に答える