这是我的自定义标签 <ART:isInclude collection="#request.watchingList" compareid="${c.classId}"/>第一次进入页面的时候这个标签是起了效果的,但我点击一个排序的连接用ajax请求,返回了一个json格式的字符串,然后拼接html代码打印到页面上(当然也把自定义标签给打出去了),在页面显示的结果是自定义标签没起到效果.请问我应该怎样在js里面调用我的自定义标签.求大神,有木有

解决方案 »

  1.   

    这个真木有。如果你的function写在jsp中,还可以调用一下。
    如果你的function写在js中,不行。jsp输入servlet,可以说是服务器端得数据,在jsp里面还可以解析一下。js是客户端数据,你怎么设?
      

  2.   

    应该不行自定义标签的执行,只能在服务器端执行;然而你用Ajax去请求数据,那么得到的也仅仅是数据结果,服务器端并没有重新执行该JSP页面。从某种程度上来说,这两个事情在设计思路上就是存在矛盾的。
    但如果你实在是既想要用Ajax又想用标签的话,就用Ajax去请求 jsp片段页面,也就是这个jsp页面仅仅是整个最终HTML页面的一个片段,比如仅仅是页面中负责以表格形式显示数据的这个部分。那么Ajax请求这个JSP片段页面后,服务器端就会执行该JSP片段页面,然后你的JS代码得到服务器所返回的HTML后,直接替换掉原来HTML中“负责以表格形式展示数据”的这部分HTML代码。
    有点绕口不,知道你理解了不?