日期:2014-05-17  浏览次数:20704 次

jsp中,javascript中不断的嵌入java代码好不好?
<% int a=1 %>

方案一: <script>
  var a=<%=a%>
  if(a==1){
  alert("1"); 
  }
  </script>

方案二: <script>  
  <%if(a==1){%>
  alert("1");
  <%}%>
  </script>

当然不止一次的调用a,
  这两种方案那种好呀,不管从哪方面讲,为什么呀?
如果认为方案二好,能详细点不

------解决方案--------------------
都不推荐,jsp是先编译后运行的。你的页面在java变量赋值前,已经被编译好了,后面再调用这个js方法,很可能里面的java变量没法用了。
------解决方案--------------------
不好!
------解决方案--------------------
不好,页面最好不要使用JAVA代码,例如表达式<%= %>
你可以是用EL表达式
------解决方案--------------------
我只问一句 写在JSP页面里 你怎么DEBUG?
------解决方案--------------------
这肯定不好的.
------解决方案--------------------
抛过把JAVA代码放到页面上好不好这个问题,再来判断的话,是第二种方法好了

第一,减少了在页面JS变量var的申明
第二,把判断条件用JAVA代码处理的话,在前台页面用户是看不到的,有保护代码的功能

你可以在页面点击右键,选择查看源代码,第二种情况只有在条件满足的情况下才会打印一个对话框,如果条件不满足的话,什么都不会打印!
------解决方案--------------------
楼上说的对,但是不赞成这样做,你这要都混在一起了!很乱。
------解决方案--------------------
上面已经有人说了 java给js赋值 就是在页面初始化的时候会赋值一次。
一般可以使用一个全局的js变量接受,然后判断处理。
最好不要奢望动态的使用java变量的值。
第一种方法 勉强可以用。
------解决方案--------------------
把目的说清楚。不然谁说的清楚是1+1=2好还是2-1=1好。
------解决方案--------------------
不好啊
------解决方案--------------------
存在就是王道,适合万岁
------解决方案--------------------
还是同意编译可能导致取不了变量没得用的情况。不能这样的方式定义,太儿戏了
------解决方案--------------------
肯定是不好咯
页面上最好只做页面本分的工作 显示 输入
代码和前台分离
------解决方案--------------------
探讨
引用:
把目的说清楚。不然谁说的清楚是1+1=2好还是2-1=1好。


现在我在javascript中必须用到java中的某个变量,这个变量的数值是通过数据库取得了

如何使两者桥接起来比较好

还有就是 我不能在java页面中写代码,只能在jsp中写代码

如何办是好,为什么呢


jsp中,javascript 中,尽量不要有代码,这样做是根据mvc思想,页面就用来做展示,代码都放到 controller model 层去。