[英]Is it possible to execute a javascript function from the java part of jsp?
在 jsp 中,我想要一個在 javascript 中定義的函數
<script type="text/javascript">
function forSignup(){
if(document.getElementById("sign").style.display=='none')
{
document.getElementById("sign").style.display='block';
document.getElementById("login form").style.display='none';
}
else
{
document.getElementById("login form").style.display='block';
document.getElementById("sign").style.display='none';
}
</script>
在 servlet 發送整數值作為 1 的條件下從 jsp <% %>
的 java 部分調用時執行。
有可能嗎?
如果是,請告訴我應該如何執行?
我假設這大致是你正在尋找的。 如果服務器端變量 (intValue) 等於 1,則調用該函數,否則不調用。
<% if (intValue == 1) { %>
<script type="text/javascript">
forSignup();
</script>
<% } %>
但請記住,您實際上並不是在“從 Java”調用這個 Javascript 函數。 您只是確保根據服務器端條件調用 Javascript 函數,具體取決於所討論的整數值。
您可以使用<c:if>
塊基於 JSP 中的變量包含 JavaScript。
JavaScript 可以從 Java 代碼執行,但它並不簡單,您發布的代碼必須從 DOM 運行,因此無法在服務器端處理。 此外,強烈建議不要使用 scriptlet; 最好為頁面准備模型(通常使用 Spring MVC 等框架),然后僅使用模板進行渲染。
您想要做的是條件邏輯,根據某些狀態(例如用戶是否登錄)來確定元素是否顯示。使用<c:if>
有選擇地將代碼包含在呈現的 HTML 中(只需直接設置 CSS通過JavaScript繞道而行)。
如果你想在javascript方法中執行java代碼
<script >
function login(){
<% System.out.println("Hiiiiiiiii");
%>
var password="test"
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.