-1

したがって、HTMLフォームを使用してjspファイルからJavaサーブレットに渡したいJava ArrayList < myObject > arrがあります。それを渡す構文は何ですか?

4

3 に答える 3

0

伝統的に:

<input type="hidden" name="myObject" value="value_of_index_0">
<input type="hidden" name="myObject" value="value_of_index_1">
<input type="hidden" name="myObject" value="value_of_index_2">
<!-- etc -->

または、JSON にシリアル化し、それを単一の隠し入力の値として配置することもできます。

于 2013-03-10T21:34:54.693 に答える
0

enter code hereこのメソッドを使用して、オブジェクトを String にシリアル化します。

private static String toString( Serializable o ) throws IOException {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream( baos );
    oos.writeObject( o );
    oos.close();
    return new String( Base64Coder.encode( baos.toByteArray() ) );
}

そして、この文字列を inputHidden html タグに入れて HTML フォームに渡します。

次に、サーブレットで、このメソッドを使用して文字列をオブジェクトに逆シリアル化します。

 private static Object fromString( String s ) throws IOException ,                                                       ClassNotFoundException {
    byte [] data = Base64Coder.decode( s );
    ObjectInputStream ois = new ObjectInputStream( 
                                    new ByteArrayInputStream(  data ) );
    Object o  = ois.readObject();
    ois.close();
    return o;
}
于 2013-03-11T16:59:20.133 に答える
0

JSP暗黙オブジェクトApplication、Session、またはrequestを使用して、配列リストをコンテキスト、セッション、またはリクエストの属性として配置し、サーブレットでJSPで使用したスコープから属性を取得します。つまり、リクエストに配置した場合サーブレットで入力しますrequest.getAttribute("Your_Object_Name")

于 2013-03-11T14:49:44.207 に答える