首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

遇到点小疑点。望解答

2012-11-03 
遇到点小问题。望解答session中放入了 mmsInfo我现在不想用c:foreach取出想通过${mmsInfo[i]}取出 我怎么去

遇到点小问题。望解答
session中放入了 mmsInfo
我现在不想用c:foreach取出  
想通过${mmsInfo[i]}取出 我怎么去拼接字符串呢 
我现在是 var s="${mmsInfo["+i+"].audioFilePath}"; (i是动态变量) 这么拼的~~
但是得不到值。。求解释 谢谢~~

[解决办法]
我上面不是说了吗,你这样写是错的,你要弄清楚jsp的原理,它其实就是一个servlet
只是它比serlvet多了一次编译的过程,它所有前台客户端的代码都是通过PrintWriter out = response.getPrintWriter();
out.print(前台内容);
你这里的var s i 只要不是<%%>和EL表达式或者JSTL标签外的所有都是通过out.print的输出到客户端的
所以你这里的${mmsInfo["+i+"].audioFilePath} 他根本就执行不了,错误的语法,
不能再服务器端执行的代码中加入客户端的代码,记住这一点就可以,
[解决办法]
我只能这么说、jsp先执行服务器端的代码 如struts标签、el表达式、jstl、 <%%> 这样服务器端的代码、

然后才执行客户端的代码如js jquery等、

而你这样写

 var s="${mmsInfo["+i+"].audioFilePath}";

其实相当于 var s = ""; 因为你的i 是js 是客户端的代码、服务器代码已经生成完毕了、

热点排行