This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 1a2d5f9  Updates production by Jenkins
1a2d5f9 is described below

commit 1a2d5f91405e43310a29ca306698df22bb4b7b59
Author: jenkins <bui...@apache.org>
AuthorDate: Mon Dec 4 12:39:18 2017 +0000

    Updates production by Jenkins
---
 content/plugins/json/index.html | 45 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/content/plugins/json/index.html b/content/plugins/json/index.html
index 371f392..0ebdf10 100644
--- a/content/plugins/json/index.html
+++ b/content/plugins/json/index.html
@@ -583,6 +583,51 @@ The implementation should then be defined in <code 
class="highlighter-rouge">str
 </code></pre>
 </div>
 
+<p>There is an example at <a 
href="https://gitbox.apache.org/repos/asf?p=struts-examples.git;a=blob_plain;f=json-customize/src/main/java/org/demo/FlexJSONWriter.java;hb=HEAD";>struts-examples/json-customize/FlexJSONWriter.java</a>.
+It replaces Struts default json serializer with <a 
href="http://flexjson.sourceforge.net/";>Flexjson</a> as below:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code><span 
class="kn">import</span> <span class="nn">flexjson.JSONSerializer</span><span 
class="o">;</span>
+<span class="kn">import</span> <span 
class="nn">flexjson.transformer.DateTransformer</span><span class="o">;</span>
+<span class="kn">import</span> <span 
class="nn">org.apache.struts2.json.JSONException</span><span class="o">;</span>
+<span class="kn">import</span> <span 
class="nn">org.apache.struts2.json.JSONWriter</span><span class="o">;</span>
+
+<span class="kd">public</span> <span class="kd">class</span> <span 
class="nc">FlexJSONWriter</span> <span class="kd">implements</span> <span 
class="n">JSONWriter</span> <span class="o">{</span>
+    <span class="kd">private</span> <span class="n">String</span> <span 
class="n">dateFormatter</span><span class="o">;</span>
+
+    <span class="kd">public</span> <span class="n">String</span> <span 
class="n">write</span><span class="o">(</span><span class="n">Object</span> 
<span class="n">object</span><span class="o">)</span> <span 
class="kd">throws</span> <span class="n">JSONException</span> <span 
class="o">{</span>
+        <span class="k">return</span> <span class="k">this</span><span 
class="o">.</span><span class="na">write</span><span class="o">(</span><span 
class="n">object</span><span class="o">,</span> <span 
class="kc">null</span><span class="o">,</span> <span 
class="kc">null</span><span class="o">,</span> <span 
class="kc">false</span><span class="o">);</span>
+    <span class="o">}</span>
+
+    <span class="kd">public</span> <span class="n">String</span> <span 
class="n">write</span><span class="o">(</span><span class="n">Object</span> 
<span class="n">object</span><span class="o">,</span> <span 
class="n">Collection</span><span class="o">&lt;</span><span 
class="n">Pattern</span><span class="o">&gt;</span> <span 
class="n">excludeProperties</span><span class="o">,</span> <span 
class="n">Collection</span><span class="o">&lt;</span><span 
class="n">Pattern</span><span class="o">&g [...]
+                        <span class="kt">boolean</span> <span 
class="n">excludeNullProperties</span><span class="o">)</span> <span 
class="kd">throws</span> <span class="n">JSONException</span> <span 
class="o">{</span>
+
+        <span class="n">JSONSerializer</span> <span 
class="n">serializer</span> <span class="o">=</span> <span class="k">new</span> 
<span class="n">JSONSerializer</span><span class="o">();</span>
+        <span class="k">if</span> <span class="o">(</span><span 
class="n">excludeProperties</span> <span class="o">!=</span> <span 
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
+            <span class="k">for</span> <span class="o">(</span><span 
class="n">Pattern</span> <span class="n">p</span> <span class="o">:</span> 
<span class="n">excludeProperties</span><span class="o">)</span> <span 
class="o">{</span>
+                <span class="n">serializer</span> <span class="o">=</span> 
<span class="n">serializer</span><span class="o">.</span><span 
class="na">exclude</span><span class="o">(</span><span class="n">p</span><span 
class="o">.</span><span class="na">pattern</span><span class="o">());</span>
+            <span class="o">}</span>
+        <span class="o">}</span>
+        <span class="k">if</span> <span class="o">(</span><span 
class="n">includeProperties</span> <span class="o">!=</span> <span 
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
+            <span class="k">for</span> <span class="o">(</span><span 
class="n">Pattern</span> <span class="n">p</span> <span class="o">:</span> 
<span class="n">includeProperties</span><span class="o">)</span> <span 
class="o">{</span>
+                <span class="n">serializer</span> <span class="o">=</span> 
<span class="n">serializer</span><span class="o">.</span><span 
class="na">include</span><span class="o">(</span><span class="n">p</span><span 
class="o">.</span><span class="na">pattern</span><span class="o">());</span>
+            <span class="o">}</span>
+        <span class="o">}</span>
+        <span class="k">if</span> <span class="o">(</span><span 
class="n">excludeNullProperties</span><span class="o">)</span> <span 
class="o">{</span>
+            <span class="n">serializer</span> <span class="o">=</span> <span 
class="n">serializer</span><span class="o">.</span><span 
class="na">transform</span><span class="o">(</span><span class="k">new</span> 
<span class="n">ExcludeTransformer</span><span class="o">(),</span> <span 
class="kt">void</span><span class="o">.</span><span 
class="na">class</span><span class="o">);</span>
+        <span class="o">}</span>
+        <span class="k">if</span> <span class="o">(</span><span 
class="n">dateFormatter</span> <span class="o">!=</span> <span 
class="kc">null</span><span class="o">)</span> <span class="o">{</span>
+            <span class="n">serializer</span> <span class="o">=</span> <span 
class="n">serializer</span><span class="o">.</span><span 
class="na">transform</span><span class="o">(</span><span class="k">new</span> 
<span class="n">DateTransformer</span><span class="o">(</span><span 
class="n">dateFormatter</span><span class="o">),</span> <span 
class="n">Date</span><span class="o">.</span><span class="na">class</span><span 
class="o">);</span>
+        <span class="o">}</span>
+        <span class="k">return</span> <span class="n">serializer</span><span 
class="o">.</span><span class="na">serialize</span><span 
class="o">(</span><span class="n">object</span><span class="o">);</span>
+    <span class="o">}</span>
+    <span class="c1">//...</span>
+</code></pre>
+</div>
+
+<blockquote>
+  <p>Flexjson is a lightweight library for serializing and deserializing Java 
objects into and from JSON.</p>
+</blockquote>
+
 <h2 id="example">Example</h2>
 
 <h3 id="setup-action">Setup Action</h3>

-- 
To stop receiving notification emails like this one, please contact
['"commits@struts.apache.org" <commits@struts.apache.org>'].

Reply via email to