Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将字符串数组从jsp发送到servlet类_Java_Jsp_Servlets_Jstl - Fatal编程技术网

Java 如何将字符串数组从jsp发送到servlet类

Java 如何将字符串数组从jsp发送到servlet类,java,jsp,servlets,jstl,Java,Jsp,Servlets,Jstl,我想知道是否可以将字符串数组从jsp发送到servlet类。实际上,这种情况是我将一个字符串数组从servlet发送到jsp,然后我想将这个字符串数组发送到另一个servlet类。比如说, <table border="1"> <tr> <th>Target Names</th> </tr> <c:forEach items="${targetarray}" var="dru

我想知道是否可以将字符串数组从jsp发送到servlet类。实际上,这种情况是我将一个字符串数组从servlet发送到jsp,然后我想将这个字符串数组发送到另一个servlet类。比如说,

   <table border="1">
     <tr>
        <th>Target Names</th>
    </tr>
        <c:forEach items="${targetarray}" var="drugtarget">
        <tr>
        <td>${fn:escapeXml(drugtarget)}</td>
        </tr>
        </c:forEach>
</table>

目标名称
${fn:escapeXml(drugtarget)}

这里,
targetarray
是我的字符串数组。我现在需要将它发送到另一个servlet类。还是有其他方法可以做到这一点?谢谢。

HTML只能包含字符序列。HTTP请求参数只能表示字符序列。你绝对不能到处传递Java对象。您需要首先根据指定的格式将它们转换为唯一表示Java对象的字符序列,以便在服务器端检索Java对象后将其转换回Java对象。字符序列在Java中由
字符串
类表示

因此,基本上,在用HTML打印之前,需要将
String[]
转换为
String
。您可以使用HTML
来表示隐藏的请求参数。在将提交的
String
值作为HTTP请求参数获取后,需要将其转换回
String[]
。在最简单的情况下,您可以选择逗号分隔值(CSV)格式作为
String
表示,也可以选择XML或JSON


如果Java对象相当复杂(例如Javabean,可能具有更多嵌套Javabean属性等),则完全不同的替代方法是在会话中沿唯一的自动生成键(例如通过
Java.util.UUID
)存储对象。然后,您只需准确地将该唯一键作为请求参数传递,以便随后可以根据该键从会话中获取(删除)该键。

我认为您的基本知识错了,JSP是在服务器端进行计算的。这类问题已经被问了好几次,而且可能重复。实际上,我正计划使用隐藏输入发送数据,我只是想知道是否有其他方法,但可以。Thanks@AhmetTanakol是的,还有其他方法。听说过session.setAttribute()和session.getAttribute()吗?请求对象中也有相同的函数。您可能希望通过重新表述您的需求来更新您的问题。在我看来,现在似乎您想要将Java对象从JSP传递到Servlet。