簡體   English   中英

是否可以從jsp的java部分執行javascript函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM