jsp 里面<%%>用法

<script language="JavaScript">
var mt="你好";
<%if("你好".equals(mt)){}%>
</script>

mt报错 应该怎么办 求帮助!

    脚本段中可以包含有效的程序片段,只要是合乎Java 本身的标准语法即可。

    通常我们主要的程序也是写在这里面,脚本段是以 <% 为起始以%> 为结尾。


3. 脚本段的语法:

4. <%java程序 %>

5. 脚本段可以声明局部变量,但不能声明方法。

温馨提示:内容为网友见解,仅供参考
第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中调用 ,两个刚好相反
所以你这个肯定是报错啦
相似回答