0

我想知道是否可以将字符串数组从 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>

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

4

1 回答 1

1

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

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

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

于 2012-11-26T15:38:50.007 回答