javascrip嵌套jsp的问题 本帖最后由 iouuoi 于 2011-01-06 11:17:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的这段代码没有问题,估计问题在于obj这个对象是否是你做需要的那个对象。仔细查一下 看错了,你的代码不应该这样写的 ,因为JSP里面的java代码你用JS做判断是没有用的 他无论如何都会执行java代码的。所以你还是换个方式吧。 帅哥,你要知道JS和JSP执行的顺序JS怎么可以给JAVA的变量赋值呢 这段代码问题不是一般的严重,很显然楼主对jsp,JavaScript的工作原理不是很清楚,jsp中的java代码是运行在后台的,javascript是运行在客户端的。还是先学好基础吧,否则一两句话说不清楚。 jsp在编译的时候是先编译java代码的,所以你的js没有执行之前java代码先编译完成了,所以你只会看到最后变量的值是“保健品食品” 这段代码实际上执行过程是这样的:1.编译JSP,被编译成的Servlet程序中的_jspService方法中该段代码被编译如下String utfname="";out.write("function selchange(obj)\n");out.write("{\n");out.write("var strname=\"\";\n");out.write("if(obj.value==\"1\")\n");out.write("{\n");out.write("strname=\"中药产品\";\n");utfname="中药产品";out.write("}\n");out.write("else if(obj.value==\"2\")\n");out.write("{\n");out.write("strname=\"原料药\";\n");utfname="原料药";out.write("}\n");out.write("else if(obj.value==\"3\")\n");out.write("{\n");out.write("strname=\"中药材\";\n");utfname="中药材";out.write("}\n");out.write("else\n"); out.write("{\n");out.write("strname=\"保健品食品\";\n");utfname="保健品食品";out.write("}\n");2.编译为html页面发回给客户端(js是在客户端执行的)上一步中红字部分是utf的赋值过程,而js实际执行的代码是out.write的所有内容,即这些:<%String utfname="";%>function selchange(obj){var strname="";if(obj.value=="1"){strname="中药产品";}else if(obj.value=="2"){strname="原料药";}else if(obj.value=="3"){strname="中药材";}else {strname="保健品食品";} 将数据库中的UTF-8文字通过浏览器输出成XML 关于frameset应用 JSP向Word模板的标记位置写入数据以及向Excel传数据,有这方面经验的高手请进 jsp 奇怪的问题 [JSF]为什么我的下一个页面显示不出来h:messages?当前页面显示正常。 [讨论]大家做jsp开发 都用什么工具呢? 关于JS无刷新分页的 求大神指导Java Web初学平台搭建 哪位高手,使用JSP如果实现如下效果? 关于CSS样式文件! 请问下,如何用JAVA,编出一个浏览器? session失效问题
1.编译JSP,被编译成的Servlet程序中的_jspService方法中该段代码被编译如下
String utfname="";out.write("function selchange(obj)\n");
out.write("{\n");
out.write("var strname=\"\";\n");
out.write("if(obj.value==\"1\")\n");
out.write("{\n");
out.write("strname=\"中药产品\";\n");utfname="中药产品";out.write("}\n");
out.write("else if(obj.value==\"2\")\n");
out.write("{\n");
out.write("strname=\"原料药\";\n");utfname="原料药";out.write("}\n");
out.write("else if(obj.value==\"3\")\n");
out.write("{\n");
out.write("strname=\"中药材\";\n");utfname="中药材";out.write("}\n");
out.write("else\n");
out.write("{\n");
out.write("strname=\"保健品食品\";\n");utfname="保健品食品";out.write("}\n");2.编译为html页面发回给客户端(js是在客户端执行的)上一步中红字部分是utf的赋值过程,而js实际执行的代码是out.write的所有内容,即这些:
<%String utfname="";%>
function selchange(obj)
{
var strname="";
if(obj.value=="1")
{
strname="中药产品";
}
else if(obj.value=="2")
{
strname="原料药";
}
else if(obj.value=="3")
{
strname="中药材";
}
else
{
strname="保健品食品";
}