1

I'm using the Stripes framework. I want to pass non-string Objects to an ActionBean. Is this possible?

I am trying to do:

<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}"/>

Where row.key resolvs to a custom class I have defined and row.value is an ArrayList of a custom class I have defined

4

1 に答える 1

2

いいえ、本当に何もありません。

つまり、常に方法があります。フォームをバイト配列にシリアル化し、Base64 で文字列にエンコードしてから、それを引数として渡すことができます。

しかしその後、URL の制限にぶつかり始めます (非常に長くなる可能性があります)。

実用的であれば、データをセッションに保存して、後で参照するだけで済みます。Stripes FlashScope を使用できます。これは、セッションにそれを詰め込みますが、次のリクエストに対してのみ、その後は消えます。

データを HTML フォームにエンコードできますが、GET を使用するのではなく、POST する必要があります。

データを別のストア (データベース、memcache など) に保存し、そこにキーを返してからキーを渡すことができます。

あなたがやろうとしていることのライフサイクルとデータの性質に本当に依存します。

于 2011-03-15T04:27:06.793 に答える