我有2个不同的Java项目,一个有2个类:dynamicbeans.DynamicBean2和dynamic.Validator.
在另一个项目中,我动态加载这两个类并将它们存储在一个 Object
class Form {
Class beanClass;
Class validatorClass;
Validator validator;
}
Run Code Online (Sandbox Code Playgroud)
然后我继续创建一个Validator对象validatorClass.newInstance()并使用它validator然后我创建一个bean对象并使用beanClass.newInstance()并将其添加到会话中.
portletRequest.setAttribute("DynamicBean2", bean);
Run Code Online (Sandbox Code Playgroud)
在Form项目的生命周期中,我调用validator.validate()从会话中加载先前创建的bean对象(我正在运行Websphere Portal Server).当我尝试将此对象强制转换为DynamicBean2失败并出现ClassCastException时.
当我将对象拉回会话时使用
faces.getApplication().createValueBinding("#{DynamicBean2}").getValue(faces);
Run Code Online (Sandbox Code Playgroud)
并使用.getClass()我得到检查它的类dynamicbeans.DynamicBean2.这是我想要将它强制转换为的类,但是当我尝试获取ClassCastException时.
我得到这个的原因是什么?