JFinal

登录 注册

看不懂template engine

#for(x:json)

<tr>

<th  scope="row">#(x.get("newstime"))</th>

<td>#(x.get("isuser"))</td>

<td>#(x.get("title"))</td>

</tr>

#end

 我可以#(json)输出json数据   但是通过for() x.get 方式就获取不到json中的值

以下是输出的json

{

    "json2": {

        "titleimg": "",

        "newsid": 3,

        "newstime": "2019-01-08 14:28:47.0",

        "clicknum": 0,

        "title": "b",

        "userid": 1,

        "issuer": "adou"

    },

    "json1": {

        "titleimg": "",

        "newsid": 2,

        "newstime": "2019-01-08 14:28:44.0",

        "clicknum": 0,

        "title": "a",

        "userid": 1,

        "issuer": "adou"

    }

    }


评论

  • 01-10 11:50
    #for 指令可以对 List、数组、Map、Set 等类型迭代,不能对 String 内部的数据进行迭代

    你的 json 变量看上去是一个 String 类型,将其转换成 Map 类型再迭代即可, 文档中说得很清楚
  • 01-10 16:12
    @JFinal
    JSONObject datetime = new JSONObject();
    Pagepage = messageMGService.SearchbyData(CurrentPageNumber,1);
    Listlist = page.getList();
    for (int i = 0; i < list.size(); i++) {
    datetime.put("json"+ i, list.get(i).getColumns());
    }
    setAttr("json", datetime);
    我的代码是这样的
  • 01-10 16:17
    @zzzzcat 直接传入 page 对象就可以了:
    setAttr("page", page);

    模板中这么用:
    #for (x : page.getList())
    ...
    #end

    enjoy 的表达式与 java 是直接打通的,所以你可以调用 page.getList() 获取 List 对象,并对其进行迭代
  • 01-10 16:17
    多看文档,里面都有
  • 01-10 16:43
    @JFinal 谢谢大佬!!!
  • 发送