xy80hou
2015-11-28 01:15 阅读 5.7k

求助ajax怎么设置request.setattribute

5

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    daidaineteasy 晓呆同学 2015-11-28 02:54

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

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

    点赞 4 评论 复制链接分享
  • zoujian1993 没伞的孩子只能跑 2015-11-28 03:33

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

    点赞 5 评论 复制链接分享
  • wojiushiwo945you 毕小宝 2015-11-28 02:12

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

    点赞 评论 复制链接分享
  • testcs_dn 微wx笑 2015-11-28 02:33

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

    点赞 评论 复制链接分享
  • Hansen1160 Hansen1160 2015-11-28 07:03

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

    点赞 评论 复制链接分享

相关推荐