2012-03-08 54 views
0

我是初學者,這是我第一次爲Blackboard創建一個構建塊。我知道我可以在構建模塊中使用Struts,因此我使用Struts 1.3開發了Blackboard版本9的構建塊。黑板與Struts

我在做Dispatch Action時感到困惑,Blackboard似乎無法找到我的轉發頁面,並且我一直以此錯誤結尾「找不到指定的資源,或者您沒有權限訪問它」。在我的JSP

鏈接:

<a href="./teststruts.do">This is a test</a> 

struts-config.xml中設置:

<action path="/teststruts" type="com.test.action.TestAction" parameter="execute" scope="request" validate="false"> 
<forward name="success" path="./thistest.jsp" /> 
<forward name="error" path="./index.jsp" /> 

我派遣行動只是mapping.findforward的路徑之一。

真的在這裏撓我的腦袋。

+0

「指定的資源未找到,或者您沒有權限訪問它「 - 清楚地表明你的struts映射是正確的。如果映射錯誤,則會轉到404頁面。 Blackboard權限存在問題。 – tusar 2012-03-08 04:25:23

回答

1

通過從鏈接正面刪除./來修復相對路徑。

此外,通過查看 blackboard/logs/tomcat/sdtout-stderr日誌,在「禁用並啓用」Building Block管理頁面中的代碼後,驗證Blackboard Building Block是否正確啓動。同時驗證您的servlet是否包含error.jsp,因爲有時404錯誤來自struts,將錯誤轉發到不存在的錯誤頁面。

0

嘗試使用

<permission name="suppressAccessChecks" type="java.lang.reflect.ReflectPermission" /> 

但我不認爲這是使用Struts是一個好主意或其他框架來開發黑板BB。在更新Blackboard版本時,它可能與Blackboard使用的庫產生衝突,如果不是使用當前版本的話。

我們在嘗試在黑板中執行復雜模塊時採取的一種方法是爲Blackboard tomcat而不是BB創建完整的webapp。使用這種技術可以使用任何你想要的,因爲它是一個獨立的應用程序,但同時你可以通過上下文與Tomcat交流。 Yoy必須將該應用程序添加到server.xml並在catalina.policy中添加一些權限才能這樣做......但也許這可能有點棘手......