日期:2014-05-20  浏览次数:20679 次

JSTL请教!!!!!
普通的JSP使用
Java code

<%UseInfo user = UseInfo.getIntance()
Vector<String> list = user.getVector();
%>
后面的代码就是对list进行遍历取值,在页面显示。


改为JSTL的标签方式
Java code

  <c:set value="${UseInfo.getInstance}" var="use">
      <c:if test="${use.vector}!=null">
          <c:forEach items="${use.vector}" var="username">
              .......
          </c:forEach>
      </c:if>
  </c:set>


运行的时候报错,JSTL用的不对,请问要怎样写?还有<c:set>中有一个varStatus属性,这个属性有什么用的?

------解决方案--------------------
varStatus相当于for循环里的“i”

c:set里面放的东西不对,话说${UseInfo.getInstance}要是已经能取到对象,你直接迭代不行么?还要set一下?
------解决方案--------------------
有静态方法的 UseInfo.getIntance() 只能用代码调用。JSTL 没有这样的功能。
------解决方案--------------------
其实你可以先在你的javabean里Vector<String> list = user.getVector();
然后resetAttribute("list","list")再在jsp页面里<c:forEach items="${list}" var="username">
.......
</c:forEach>
就可以了jstl里没有${UseInfo.getInstance}调用方法的