質問

私はあなたのコードをスクリプトレットに頼らずのJSP内のオブジェクトをインスタンス化する<jsp:useBean>タグを使用することができます知っています。しかし、私は値がEL式の結果である整数をインスタンス化したいのですが、何かます:

<jsp:useBean id="total" class="java.lang.Integer">
    <jsp:setProperty name="amount" value="${param1 + param2}"/>
</jsp:useBean>
Integerオブジェクトは、「量」という名前のプロパティを持っていないので、

もちろんこれは彼らの値を設定することができます唯一の方法は、コンストラクタのパラメータ(すなわち、Integerオブジェクトは不変です)を経由している、機能しません。このようなオブジェクトをインスタンス化し、スクリプトレットコードを使用せずに、それは価値だ設定する方法はありますか?

おかげで、 ドン

役に立ちましたか?

解決

<c:set var="amount" value="${param1 + param2}" scope="page" />

他のヒント

あなたが一つでもそのように初期化することはできませんので、プリミティブラッパーはまた、デフォルトのコンストラクタを持っていません。

私はELがそのように使用することになっていることはよく分かりません。これは、テンプレート言語の詳細です。

:のようなものの上に持って何をしようとするどのような利点は明らかではありません
<%
  Integer total = new Integer(param1 + param2);
%>

そして、あなたが出力する値を必要とする<%=合計%>を使用。あなたも行うことができます:

<%
  pageContext.setAttribute("total", new Integer(param1 + param2));
%>
あなたがしたい場合は、

の値がどうなるのuseBeanのようなページスコープであることを。

あなたは豆を持っている場合は、あなただけのparam1と2でBeanを更新することができますか?方法、setAmount(PARAM1、PARAM2)を作成し、あなたがgetAmountを(使用する前に豆を呼び出すために何が起こっているかである、)それを設定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top