2012-07-05 51 views
0

我正在開發一個portlet支柱2 EJB3 我配置項目和EJB的portlet項目我confugured動作類,並在struts.xml錯誤JSP 154 java.lang.classnotfound

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd"> 

<struts> 
<package namespace="/view" extends="struts-portlet-default" name="view"> 
    <!-- If no class attribute is specified the framework will assume success and 
     render the result index.jsp --> 
     <!-- If no name value for the result node is specified the success value is the default --> 
    <action name="index"> 
    <result>/html/view/index.jsp</result> 
    </action> 

    <action name="create" method="ajouterOUmodifier" class="com.esprit.action.AdressAction"> 
      <result name="success" type="redirect">index</result> 
      <result name="input">/html/view/ajoutAdress.jsp</result> 
    </action> 

    </package> 
</struts> 

和JSP文件

<%@ page contentType="text/html; charset=UTF-8"%> 
<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %> 
<html> 
<head> 
    <link href="<s:url value="/resources/main.css"/>" rel="stylesheet" type="text/css"/> 
</head> 
<body> 
<s:form action="create" method="post"> 

<s:textfield name="adress.nom" label="Firstname"/> 
    <s:textfield name="adress.prenom" label="Lastname"/> 
       <s:submit value="ok" /> 
     </s:form> 
</body> 
</html> 

但是當我執行項目的誤差顯示:

ERROR [JSP:154]的java.lang。 ClassNotFoundException:來自BaseClassLoader @ 33b2c7a8的com.esprit.metier.AdressDao {VFSClassLoaderPolicy @ 1e52011c {name = vfsfile:/ D:/android/jboss-5.1.0.GA/server/default/deploy/DepartmentWEB-portlet.war/ domain = ClassLoaderDomain @ 69ac5f83 {name = vfsfile:/ D:/android/jboss-5.1.0.GA/server/default/deploy/DepartmentWEB-portlet.war/ parentPolicy = AFTER_BUT_JAVA_BEFORE parent = ClassLoaderDomain @ 5183a17c {DefaultDomain}} roots = [MemoryContextHandler @ 432465105 [路徑=背景= vfsmemory:// 5c4o13m-e9nqdk-h49ogxti-1-h49ohbp5-2a

你能幫助我嗎?

+0

你的代碼真的像這樣隨機縮進?無論如何,我不確定我們在這一點上能夠提供什麼樣的幫助 - 這個班級在哪裏生活? – 2012-07-05 15:31:25

回答

0

的ClassNotFound的條件可能會導致兩個問題:

  1. 的類加載器抱怨的類是不是在classpath
  2. 的類加載器抱怨引用無法加載一些其他類的類原因(例如,它不在類路徑或其他參考不是...)

所以:檢查你的類路徑:是com.esprit.metier.AdressDao那裏?它的超類(整個層次結構)以及它實現的所有接口?所有成員和引用類(請參閱方法簽名)。

此外,如果這真的是一個portlet的JSP,它不應該包含<html><head><body>因爲這是門戶網站,這些添加到頁面的業務。您也可能需要將您的css包含在<header-css>部分的主題或liferay-portlet.xml中(但這不應該影響您的班級未發現的體驗,它只是一般的門戶建議)