所以我有一个Java ArrayList< myObject>我希望使用HTML表单从jsp文件传递到java servlet。什么是通过它的语法?
答案 0 :(得分: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并将其作为单个隐藏输入的值。
答案 1 :(得分:0)
只需使用JSP隐式对象Application,Session或request将您的数组列表作为属性放在上下文,会话或请求中,并在您的servlet中从您在JSP中使用的作用域中获取属性,即如果您将其放入然后在您的servlet中输入request.getAttribute("Your_Object_Name")
答案 2 :(得分: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() ) );
}
然后将此String放在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;
}