第1个回答 推荐于2017-09-27
一个是java,一个是js,能不报错吗,<script language="JavaScript"> var mt="你好"; if("你好"==mt){ alert(mt); } </script>
本人理解:
JSP的编译器指引与指令组件
编译器指示 <%@ 编译器指示 %> 编译器指示:放入一些信息让整个jsp文件知道怎样处理这个文件内的信息。
声明 <%! 声明 %> 声明:这个就是提供java代码声明变量、方法等的场所。
表达式 <%= 表达式 %> 这个相当于赋值,可以在页面上显示表达式的结果,表达式就是java中表达式,
程序代码段/小型指令 <% 程序代码片段 %> 程序代码片段放的是java代码,他们可嵌套<% if(1=1){ }
注释 <%-- 注释 --%> 和java语言中的// /**/ 作用一样,被<%-- 注释 --%>包围的信息不执行本回答被提问者和网友采纳
第2个回答 2013-05-17
我感觉你上面有三个错误:
1.equals方法是java中的,不能在javascript中使用;如果要在javascript中比较两个对象的值是否相等,只能用双等号(==),例如: “你好”==mt
2.你没有把javascript的内容写在一个function函数中
3.你问的jsp里<%%>的用法,但是你把<%%>用在了script中,应该是用在body之间的,而不是head中的script中
第3个回答 2013-05-17
<%%>是在发布容器里运算的,<script></script>是在浏览器预算的。
也就是说你的tomcat会把<%%>里的内容转换成html和javascript后才交由浏览器去运行展示,而你的mt是在tomcat计算jsp的过程将会被用到,但是它是到了浏览器之后才得到声明和定义的,显然这样是不行的,报错是必然的。
第4个回答 2013-05-17
兄弟 javascript中可以内嵌jsp脚本 但是javascript中定义的变量不能在jsp脚本中调用,但是jsp脚本中定义的变量可以在javascript中调用 ,两个刚好相反
所以你这个肯定是报错啦