我正在使用 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/