JSP页面的取值问题?

页面请求一个action,要求action返回一个JSONArray的数组。经过处理后把数据放到 JSONArray array这个对象中,做如下处理
request.getSession().setAttribute("data",array);

在页面取值 用Struts标签取值 循环

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags"  prefix="s" %>
[
    <s:if test="#session.data.size>0"> 
     <s:iterator value="#session.data" var="c" id="c"> 
      ["${c.id}", "${c.name}"],
     </s:iterator>
    </s:if>
    <s:else>
        ["allData", "所有数据"]
    </s:else>
] 

请大家帮我看看 错在哪里?为什么不能正常显示呢?
注:<s:if test="#data.size>0">也试过了。<s:if test="${data}.size>0">直接黄线,运行时报错。
急!急!急!

阅读 4.3k
1 个回答

返回JSON格式就不用jsp取值啊,json直接是用js取的。
你要是想在页面取值,直接在session里面放list就行了,不需要用JSONArray封装你的list。
运算只能放在%{}里面,<s:if test="%{data.size>0}">,这个是struts2的ognl表达式,你把它和jsp的el表达式弄混了,struts2不怎么用了,所以有些语法我也记不太清楚,你看看文档就能解决了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题