java - 如何将非字符串 Java 对象传递给 ActionBean - Stripes

标签 java serialization stripes

我正在使用 Stripes 框架。我想将非字符串对象传递给 ActionBean。这可能吗?

我正在尝试做:

<s:url var="statementUrl" beanclass="sempedia.action.StatementActionBean" prependContext="false" >
    <s:param name="property" value="${row.key}" />
    <s:param name="values" value="${row.value}" />
    <s:param name="myString" value="Why kick a moo cow" />
</s:url>
<jsp:include page="${statementUrl}"/>

其中 row.key 解析为我定义的自定义类,row.value 是我定义的自定义类的 ArrayList

最佳答案

不,没什么。

我的意思是,总有办法的。您可以将表单序列化为字节数组,并使用 Base64 编码为字符串,然后将其作为参数传递。

但随后您开始遇到 URL 限制(它们只能这么长)。

如果可行,您可以将数据保存在 session 中,以便稍后引用。您可以使用 Stripes FlashScope,它将其填充到 session 中,但仅适用于下一个请求,然后它就会消失。

您可以将数据编码为 HTML 表单,但随后您需要将其发送出去,而不是使用 GET。

您可以将数据保存到另一个存储(数据库、内存缓存等),然后简单地返回一个 key ,然后传入该 key 。

实际上取决于您想要执行的操作的生命周期以及数据的性质。

关于java - 如何将非字符串 Java 对象传递给 ActionBean - Stripes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5307415/

相关文章:

java - 单例双重检查锁定在高版本 JDK(例如 jdk11、14)中是否仍然需要 volatile?

java - Eclipse DTP 新驱动定义

java - 复杂的通用类声明

python - UnpicklingError : A load persistent id instruction was encountered, 但没有指定persistent_load 函数

java - 实现树可写类

C# - 反序列化列表<String>

java - 如何处理Java Stripes框架中的错误?

javascript - 如何从 Stripes ActionBean 获取 javascript 的返回值?

java - 了解字符流中的编码

java - JSTL 导入标签抛出带有相对 URL 的 java.lang.IllegalStateException