所以我有一个 Java ArrayList < myObject > arr 我想使用 HTML 表单从 jsp 文件传递到 java servlet。传递它的语法是什么?
问问题
2142 次
3 回答
0
只需使用 JSP 隐式对象应用程序、会话或请求将您的数组列表作为上下文、会话或请求的属性,然后在您的 servlet 中从您在 JSP 中使用的范围中获取属性,即如果您将其放入请求中然后在您的 servlet 中,您将键入request.getAttribute("Your_Object_Name")
于 2013-03-11T14:49:44.207 回答
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
使用此方法将您的对象序列化为字符串:
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 表单中传递。
现在在 Servlet 中,使用此方法将您的字符串反序列化为对象:
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 回答