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

时间:2011-03-15 04:04:10

标签: 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

1 个答案:

答案 0 :(得分:2)

不,没什么。

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

但是你开始运行URL限制(它们只能这么长)。

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

您可以将数据编码为HTML表单,但是您需要POST而不是使用GET。

您可以将数据保存到另一个商店(数据库,内存缓存,类似的东西),只需返回一个密钥,然后传入密钥。

真正取决于您尝试做的生命周期以及数据的性质。