求助ajax怎么设置request.setattribute

求助各位大神,有一段前台代码是这样的:

<c:forEach var="me" items="${fileNameMap}">
</c:forEach>

现在我想用ajax给items动态赋值,ajax调用的后台代码有一句:request.setattribute(“fileNameMap”,fileNameMap),问题来了:前台页面怎么也接收不到后台传来的fileNameMap,还望各位大神指点一二,不胜感激!

一般后台如果直接request.setattribute(“fileNameMap”,fileNameMap),那么在JSP页面中就直接用你上边的EL表达式展示,
如果用ajax请求,则就会返回json格式的字符串由JS动态拼接成页面需要的代码,然后用html()等方法写入到JSP页面中。

你现在整好交叉了,这样是不行的。AJAX请求的数据会在ajax中得到返回值,JS往页面传值或者写值,用EL表达式是获取不到的。

在js中,直接用el表达式获取。

ajax调用的后台为什么不返回一个JSON格式的,前台展示代码使用JS

ajax使用的是异步刷新,如果你不想使用json数据,依然想像上面那样干,那**你把数据放到session里**边试试看。
我觉着取不到值是由于没有找到异步请求的request这个作用域。${fileNameMap}这个的寻找路径是pagecontext,request,session,application。
由于页面并没有刷新,所以页面的request并没有改变,所以在里面取不到值。但是针对本次会话只有一个session,所以放在session里面应该是没问题的。希望能帮到你。

三楼回答经典呀,一语中的