2 つの異なる Java プロジェクトがあり、1 つには 2 つのクラスがあります:dynamicbeans.DynamicBean2
とdynamic.Validator
.
もう一方のプロジェクトでは、これらのクラスを両方とも動的にロードし、Object
class Form {
Class beanClass;
Class validatorClass;
Validator validator;
}
次に、Validator
使用してオブジェクトを作成し、それvalidatorClass.newInstance()
を保存してからvalidator
、Bean オブジェクトを使用して作成し、beanClass.newInstance()
それをセッションに追加します。
portletRequest.setAttribute("DynamicBean2", bean);
Form
プロジェクトのライフサイクル中にvalidator.validate()
、以前に作成した Bean オブジェクトをセッションからロードする を呼び出します (私は Websphere Portal Server を実行しています)。このオブジェクトを にキャストしようとするDynamicBean2
と、ClassCastException で失敗します。
を使用してオブジェクトをセッションから引き戻すと、
faces.getApplication().createValueBinding("#{DynamicBean2}").getValue(faces);
.getClass()
I getを使用してクラスを確認しますdynamicbeans.DynamicBean2
。これは私がキャストしたいクラスですが、試してみると ClassCastException が発生します。
これを取得する理由はありますか?