2011-07-12 88 views
1

我對網絡開發相對陌生,並且遇到了一些使用一些內聯PHP代碼的問題。在.JSP中嵌入PHP?

該頁面是一個JavaServer Page(.jsp),我試圖執行JFormer表單。

當我將我的JFormer PHP代碼添加到我的.jsp頁面時,它只是顯示爲純文本並拒絕與我合作(即使使用網站文檔中的演示代碼)。這是因爲在.jsp頁面上使用PHP之間的某種不兼容性?

如果是這樣的話,我可以使用哪些解決方法?我應該使用iframe嗎?

我需要保留.jsp頁面的使用,並且非常喜歡使用JFormer,但如果必須我可以折騰它。

類似於我在做什麼東西的例子可以發現在:http://www.jformer.com/documentation/getting-started/installation/

+0

這與JSP有什麼關係? jFormer只是JavaScript和CSS ... –

+0

它與JSP有關,因爲我正試圖將它實現到一個.jsp頁面上。就像我說的,我對網絡開發非常陌生,所以對於任何混淆都表示歉意。 – ssell

+0

...除非你必須混合使用php和jsp,否則我會投票避免它。你有沒有試過尋找一個基於jsp的等效解決方案? – vector

回答

3

JSP和PHP都是服務器端語言。因此,給定文件中的所有腳本必須由服務器上所需的引擎處理,以產生必要的HTML輸出。

我想可以綁定多個引擎來處理第一個JSP,然後是PHP,但這看起來很麻煩並且容易出錯。

相反,請考慮使用iframe(如您所建議的)或通過AJAX調用加載PHP內容。

3

PHP由PHP解釋器執行並輸出HTML。 JSP由Java VM編譯並執行,並輸出HTML。您不能在JSP代碼中執行PHP(反之亦然)。就好像你把英文單詞放在英文演講中。沒人能理解。

+0

感謝您的明確類比。我最近被分配到這個項目中,沒有在網絡開發方面的經驗(只有幾年的圖形編程。奇怪,我知道),所以沒有意識到這一點。 – ssell

3

我認爲這一點是jFormer使用PHP作爲服務器端邏輯的例子。如果您想將jFormer集成到JSP項目中,請參閱瞭解如何編寫JSP中的等效PHP功能。您可能需要爲部分邏輯創建一個Servlet。

2

它看起來像JFormer需要PHP,所以你不能輕易地在JSP頁面上進行這項工作。您可以在Java/JSP中重寫JFormer PHP代碼,但這可能需要很多工作。

您正在使用的容器(如Tomcat)可能能夠將PHP腳本作爲CGI腳本運行。如果你這樣做,你不能輕鬆地在PHP和Java之間共享會話信息。 Javascript可以用來實現這一點,但要小心安全問題。如你所說,如果你仍然想使用JSP,你可以創建一個指向PHP頁面的iframe。

下面是它的設定爲Tomcat的文章: http://wiki.apache.org/tomcat/UsingPhp

免責聲明:我不知道JFormer。