我有Java類和JSP。在JSP中我包含了Javascript文件。
我有一個返回字符串的Java方法。
我想在JavaScript文件中調用此方法。
我該怎麼做?在基於Struts 2的應用程序中調用Javascript文件中的方法
回答
Struts是一個服務器端框架,所以你的Java運行在你的服務器上。
JavaScript通常在瀏覽器中運行(並且聽起來不像您涉及任何SSJS解決方案)。
因此:你不能。這些程序在不同的計算機上運行,無法直接交互。
您需要發出一個新的HTTP請求,包括可以檢索到的數據(例如查詢字符串)。您可以通過設置location
,生成<form>
並調用其submit()
方法,使用XMLHttpRequest
對象,動態添加<script>
元素以及適當地設置src
元素以及各種其他方法來執行此操作。
我想驗證一些文本字段(例如文本字段不能爲空)。以及我想要驗證哪個文本字段來自java方法中的字符串值。 – user608032 2011-02-24 07:30:08
這不會改變我剛剛解釋的任何限制。您應該嘗試弄清楚如何將該信息與頁面的其餘部分一起提供給瀏覽器。 – Quentin 2011-02-24 09:57:24
您可以將Java/JSP字符串作爲JS變量直接寫入頁面主體。 (如果我理解正確,我不確定我是否確定)。
是的,保持簡單。 ''。 – BalusC 2011-02-24 12:59:16
我在js文件中使用了這段代碼: var collegename ='$ {collegename}'; 關於學院名稱有getter/setter在行動類的alert(「collegename」+ collegename) 。 但它顯示colloge名稱是未定義的, – user608032 2011-03-01 06:35:19
你的意思是兩件事中的任何一件。
要麼在渲染時調用該方法,並在Javascript中包含輸出。爲此,請使用JSP調用該方法。
或者你想調用'運行時'的方法。如果是這樣,您需要從瀏覽器進行ajax調用,並以此方式調用該方法。你可以使用不同的技術(想到jax-rs)。也許struts已經有了一些東西;不確定。基本上,你向一個servlet發出一個http請求。 servlet調用你的方法並返回響應。然後你的JavaScript處理響應。
你的意思是說你的JSP裏有如下的東西嗎?
<script type="text/javascript">
<s:property value="JSMethodName"/>();
<script>
我的意思是上面會調用特定的JS方法一次......你甚至可以包裝在一個迭代<s:property>
標籤撥打電話的方法......可能更好地修改上面的頁面加載後。
如果上述不足,您可以使用ajax方法動態地返回JS方法列表並調用它們......因爲我會建議使用jquery和S2 JSON插件。
- 1. 如何本地化Struts 2應用程序中的JavaScript文件
- 2. 如何讀取Struts 2應用程序中的文本文件
- 3. 在基於Trident的應用程序中調試JavaScript
- 4. 在struts應用程序中調試
- 5. 在Struts中基於Web的應用程序的JSP頁中使用JSTL
- 6. 在基於服務的應用程序中調用控制檯方法
- 7. Struts 2.X應用程序菜單Struts-Menu的替代方案
- 8. 我應該在基於Struts 2.0.11的Web應用程序中使用哪種調度程序?
- 9. 如何設置FitNesse以用於基於struts的應用程序?
- 10. 在基於Web的應用程序中更新方法 - Java Servlets
- 11. 在setter中調用的方法是首選或不在struts 2
- 12. 如何在JavaScript中調用Struts中的方法?
- 13. 在JavaScript中同步調用基於文件的文件
- 14. 基於PHP的調用應用程序
- 15. 參數在struts 2中的調用方法?
- 16. 無法保存在基於文檔的應用程序中
- 17. 基於JavaScript的Web應用程序的文件結構
- 18. 在基於MapObject2.4的應用程序中Reding .dgn v8文件
- 19. 在基於Adobe Flex的應用程序中讀取Tiff文件
- 20. 基本struts 2應用程序的理解
- 21. 在基於dojo的應用程序的javascript中轉換視圖
- 22. 無法在Angular 2應用程序中更改lite-server的基礎文件夾
- 23. 在iPhone應用程序中使用異步方法調用的FTP文件
- 24. 如何在struts 1.1應用程序中使用外部js文件並在onclick事件上調用javascript函數?
- 25. 基於Windows的網絡應用程序中的文件
- 26. 在Struts應用程序中使用UncaughtExceptionHandler
- 27. Struts 2基於註釋的應用程序不能正常工作
- 28. 如何執行/調用ASP.NET Web應用程序C#方法中的JavaScript方法
- 29. 在linux上的Java EE應用程序中調用dll文件
- 30. 從Windows應用程序調用ASP.NET應用程序中的方法
將Java方法導出爲http請求,並從js中發出請求 – qrtt1 2011-02-24 07:26:40
請在每個句子的開頭使用大寫字母,用於縮寫詞(如JSP)以及單詞'I'的任何用法。這篇文章是痛苦的嘗試和閱讀。另一個提示:不要忘記給「我如何做這個?」等問題添加問號(?)。 – 2011-02-24 07:28:44