是否可以从jsp的java部分执行javascript函数?

时间:2016-03-28 19:45:52

标签: javascript java 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> 

在jsp <% %>的java部分调用时,在servlet将整数值发送为1的情况下执行。

有可能吗?

如果是,请告诉我应该怎么做?

4 个答案:

答案 0 :(得分:2)

我认为这大致是你正在寻找的。如果服务器端变量(intValue)等于1,则调用该函数,否则不调用。

<% if (intValue == 1) { %>
    <script type="text/javascript">
        forSignup();
    </script>
<% } %>

请记住,您实际上并没有从Java&#34;中调用此Javascript函数&#34;您只是确保根据服务器端条件调用Javascript函数,具体取决于所讨论的整数值。

答案 1 :(得分:0)

您可以使用<c:if>块来基于JSP中的变量包含JavaScript。

答案 2 :(得分:0)

JavaScript可以从Java代码执行,但它并不简单,您发布的代码必须从DOM运行,因此不能在服务器端处理。此外,强烈建议不要使用scriptlet;为页面准备模型(通常使用Spring MVC等框架)然后使用模板进行渲染要好得多。

您想要做的是条件逻辑,确定是否根据某些状态显示元素,例如用户是否已登录。使用<c:if>选择性地在呈现的HTML中包含代码(并且只是设置CSS直接而不是通过JavaScript绕道而行。)

答案 3 :(得分:0)

如果你想用javascript方法执行java代码

<script >
 function login(){
 <% System.out.println("Hiiiiiiiii"); 

 %>
 var password="test"
 }
</script>