简体   繁体   English

如何在javascript函数内部传递java变量?

[英]how to pass java variable inside javascript function?

javascript code: JavaScript代码:

<script type="text/javascript">

function submitform(){
    //  alert("inside submit");
    <% String username1=(String)session.getAttribute("UserName");

    if(username1 == null || username1.equals("undefined")){%>
        alert("please login to submit");
    <% }else{ %>
        //alert("In Submit form");

        var frm=document.getElementById("myForm");
        frm.action="Electionservlet?formidentity=editYPName&Username="+<%=username1%>;
        //alert("before submit");
        frm.submit(); 

    <%}%>
}

</script>

when i click on the submit button the abobe function('submitform') is called. 当我单击提交按钮时,将调用abobe函数(“ submitform”)。 so what i want here is how can i pass a java variable(username1) through javascript function and get that value inside my servlet??? 所以我想要的是如何通过javascript函数传递java变量(username1)并在servlet中获取该值?

As <%=username1%> is not a javascript variable so you cant use + like that 由于<%=username1%>不是javascript变量,因此您不能像这样使用+

frm.action="Electionservlet?formidentity=editYPName&Username=<%=username1%>";

                                                              ^--------// removed +

You can simply use Expression Language in jsp to assign your attribute to a js variable and avoid the scriptlets. 您只需在jsp中使用表达式语言即可将属性分配给js变量,并避免使用scriptlet。 It will make your code more readable. 它将使您的代码更具可读性。

function submitform(){
    //  alert("inside submit");
    var username1=${sessionScope.UserName};

    if( username1 == null || username1 == "undefined" ){
        alert("please login to submit");
    }else{
        //alert("In Submit form");
        var frm=document.getElementById("myForm");
        frm.action="Electionservlet?formidentity=editYPName&Username="+username1;
        //alert("before submit");
        frm.submit(); 

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM