如何在jsonlib中使用dsp标签

时间:2016-01-06 01:12:43

标签: json taglib atg

我想使用json格式在jsp中输出一些数据。我正在尝试使用json-taglib。有人可以帮我把jsontaglib和atg dsp标签结合起来吗?下面是代码。

<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<dsp:page>
<json:property name="image" value="<dsp:valueof param='mysite.image'/>" />
<json:property name="name" value='<dsp:valueof param="mysite.name"/>' />
</json:object>`
</dsp:page>

但上面的代码只是打印我的dsp:valueof标签而不是它的值。为什么呢?

另外,我需要使用foreach droplet打印出一个嵌套的json数组。有人可以帮我一个例子,我该如何实现呢? TIA

1 个答案:

答案 0 :(得分:0)

由于您明确导入json taglib,您可能还需要导入dsp taglib?

除此之外,您错过了<json:object>的起始标记,其余标记似乎是正确的。

使用ForEach droplet生成嵌套json数组的示例如下:

<dsp:importbean bean="/atg/dynamo/droplet/ForEach" />
<dsp:page>
    <json:object>
        <json:property name="image">
            <dsp:valueof param="mysite.image" />
        </json:property>
        <json:property name="name">
            <dsp:valueof param="mysite.name" />
        </json:property>
        <json:array>
            <dsp:droplet name="/atg/dynamo/droplet/ForEach">
                <dsp:param name="array" param="SomeParameterPassedToThisDroplet" />
                <dsp:oparam name="output">
                    <json:object>
                        <json:property name="element.propertyname">
                            <dsp:valueof param="element.propertyvalue" />
                        </json:property>
                    </json:object>
                </dsp:oparam>
            </dsp:droplet>
        </json:array>
    </json:object>
</dsp:page>