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

时间:2014-03-28 05:16:02

标签: java javascript jquery servlets

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>

当我点击提交按钮时,会调用abobe函数(&#39; submitform&#39;)。 所以我想要的是如何通过javascript函数传递java变量(username1)并在我的servlet中获取该值?

2 个答案:

答案 0 :(得分:1)

由于<%=username1%>不是javascript变量,因此您无法使用+

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

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

答案 1 :(得分:0)

您可以在jsp中使用表达式语言将属性分配给js变量并避免使用scriptlet。它将使您的代码更具可读性。

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(); 

    }
}