私はJSFを使用して実行されるWebプロジェクトを持っています&私はEJBモジュールも持っています。 FORM &にいくつかのデータを入力して、それらのデータをセッションBean経由でDBに保存しようとします。EJBモジュールにデータを渡すときにClassCastExceptionが発生する
手順は次のとおりです。
1)ユーザーは、フォーム
2)彼は、マネージドBeanが&はそれらを追加し、すべての入力した値を取り込み
3)保存ボタン
4)にヒットデータとフォームフィールドを埋めて画面が開きますArrayListの(エンティティBeanを含む。以下に示す)
for(String tagName : formTagNames){ // For all the tag names in the FORM
String value = request.getParameter(tagName); // Get the value of the field
myArrayList.add(new DynamicForm(tagName, value)); // Create a bean & add to list
}
5)次にmyArrayListを持続するためのEJBモジュールに送られます。私はセッションBean &に達するとmyArrayList
public Integer addDynamicFormFields(ArrayList<DynamicForm> formDetailsList) {
if(formDetailsList == null || formDetailsList.isEmpty()) return 0;
setupResources(); // Setting up all necessary connections & stuff
int count = 0;
try{
entityTransaction.begin();
for(DynamicForm form : formDetailsList){
entityManager.persist(form);
count++;
}
entityTransaction.commit();
}
catch(Exception e){
e.printStackTrace();
entityTransaction.rollback();
}
finally{
cleanupResources(); // Cleanup all connections & resources
}
return count;
}
7)を反復処理しようとする。しかし、それは私にもClassCastException & Iドンを与える)
@EJB(name="DynamicFormFacadeLocal", mappedName="DynamicFormFacade/local")
private static DynamicFormFacadeLocal dynamicFormFacadeLocal;
// Send it to EJB module for persistence
dynamicFormFacadeLocal.addDynamicFormFields(myArrayList);
6を(私も正しくマッピングを行っています)なぜ理解できないの?.. !! :(
18:17:42,210 INFO [org.hibernate.impl.SessionFactoryImpl] building session factory
18:17:42,214 INFO [org.hibernate.impl.SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
18:17:42,219 ERROR [STDERR] java.lang.ClassCastException: com.test.dynamiform.beans.entity.DynamicForm cannot be cast to com.test.dynamiform.beans.entity.DynamicForm
18:17:42,219 ERROR [STDERR] at com.test.dynamiform.beans.session.DynamicFormFacade.addDynamicFormFields(DynamicFormFacade.java:32)
18:17:42,219 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
18:17:42,219 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
18:17:42,219 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
18:17:42,219 ERROR [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
18:17:42,220 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
.... etc
は、誰かがこの1で私を助けてください... ???私は、オブジェクトの同じタイプを反復&を送ってるように私は完全にここに迷ってしまいました
を... :(
感謝。
Asela。
webとejbはどのようにパッケージ化されていますか?単一の耳で、またはスタンドアロンアプリとして?そして、DymanicFormクラスはどのように両方に見えるようになりましたか? – Osw