1

<jsp:useBean>以前はBeanのスコープを決定する機能を備えたタグを使用していましpage or request or session or applicationたが、現在はMVCアーキテクチャに移行し、BeanUtilsクラスを使用してBeanのプロパティを設定していますServletsSCOPEこの方法で提供されるデフォルトは何ですか?スコープを変更したい場合はどうすればよいですか?私は構文を使用しています:

BeanUtils.populate(bean, request.getParameterMap());

4

2 に答える 2

0

Beanはどこにも保存されBeanUtils#popuate()ません。Beanにデータを入力するだけです。変更は、そこにあるインスタンスに反映されbeanます。ご存知のとおり、Javaはオブジェクト指向で値渡しです。その行が呼び出された後、Beanにデータが入力されます。Beanを目的のスコープに自分で保存する必要があります。

リクエストの範囲:

request.setAttribute("bean", bean);

セッションスコープ:

request.getSession().setAttribute("bean", bean);

アプリケーションの範囲:

getServletContext().setAttribute("bean", bean);

いずれにせよ、それはによってJSPで利用可能です${bean}。ページスコープはありませんが、とにかく関係ありません。

参照:

于 2011-11-07T14:43:40.490 に答える
0

javabeansに関連付けられたスコープはありません。スコープはjsp/webappにのみ関連しています。その意味で、BeanUtils.populate(..)はBeanをWebコンテキストのどこにも格納しないため、スコープがありません。このように作成されたBeanを特定のコンテキストに追加することを選択した場合にのみ、スコープがあります。

于 2011-11-07T14:41:18.460 に答える