簡體   English   中英

將參數從javascript傳遞到JSP

[英]Passing parameters from javascript to JSP

我正在嘗試編寫下一個代碼。 我有一個圖像和一個按鈕。 我想在單擊圖像時更改按鈕的值(標題)。 誰能告訴我這是怎么回事? (如果您發現愚蠢的錯別字,請忽略它,我將不會復制粘貼所有內容)。

關於腳本部分的另一個問題(可能與我的問題有關):request.getParameter(imageId)方法是否真的返回了函數的上述參數?

JSP:

<%

String messageButton = "Click me!";

%>

<%!

public void changeStatusButton(String i_MessageButton)
{
    i_MessageButton = "You Clicked The Image!";
}

%>

html頭:

<script>

    button imageClicked(imageId) {

        <% changeStatusButton(request.getParameter(imageId)) %>    

    }

</script>

html正文:

<input type="image" id="greatimage" onclick="imageClicked(id)"/>
<input id="mybutton" type="button" value="<%=messageButton%>"/>

scriptlet中的所有代碼都將在服務器端執行。 沒有Java代碼從服務器發出,所有發出的都是HTML,即使它們都在同一JSP中也是如此。 您的JSP代碼應類似於-

<% String messageButton = "Click me!"; %> // server-side code
<script type="text/javascript"> // client side code
    function imageClicked() {
        document.getElementById("mybutton").value = "You Clicked The Image!";
    }

</script>

<input type="image" id="greatimage" onclick="imageClicked();"/> // client side code
<input id="mybutton" type="button" value="<%=messageButton%>"/> // client side code with <%=messageButton%> evaluated at server side.

因此,當生成HTML代碼時,從服務器傳出並在您的瀏覽器中呈現的是-

<script type="text/javascript">
    function imageClicked() {
        document.getElementById("mybutton").value = "You Clicked The Image!";
    }

</script>

<input type="image" id="greatimage" onclick="imageClicked();"/>
<input id="mybutton" type="button" value="Click me!"/>

甚至您的變量messageButton不會出現在客戶端,因為這在scriptlet中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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