做了一个下载的东西,但是在页面显示的时候遇到问题了。代码如下:
<c:forTokens var="str" items="${sysAnnounce.accessoryURL}" delims=";" varStatus="status">
  <c:forTokens var="str1" items="${sysAnnounce.fileName}" delims=";" varStatus="status">   
  <c:out value=""/><a href="download.action?file=${str}">${str1}</a>
  </c:forTokens>
</c:forTokens>
  比如我数据库又2个字段,分别存着1;2 和 3;4 而我想得到的是{1,3}、{2,4}这2个集合
可是用两个c:forTokens两次循环后出来的结果就变成{1,3}、{1,4}、{2,3}、{2,4}四个集合了(从上面的代码中很容易看出来)。  在下载文件环节中,1、2就相当于文件的名称,3、4则是文件在服务器上的唯一标示名。着两个名称即是不一样的,但却又是要相互对应的。否则用户将下载到错误的文件(并非他想要下载的文件)。所以要1、3对应,2、4对应。  不知道能不能把这两个c:forTokens压缩成一个c:forTokens,让str和str1同时获得值。这样,一次循环就可以只输出2个集合了。由于小弟不太懂JSTL,所以弄了半天也没结果。
  请哪位大神帮忙解答下,谢谢我的意思就是str和str1同时取到第一组数据时,才能执行download.action
当str和str1同时取到第二组数据时,才能执行download.action
就是说要想执行download.action,str和str1取到的一组值必须是相互对应的。