Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2012 astamuse company,Ltd.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  *
  */
 
 package com.astamuse.asta4d.sample.snippet;
 
 import static com.astamuse.asta4d.render.SpecialRenderer.Clear;
 
 import java.util.Date;
 import java.util.List;
 
 
 
 public class ComplicatedSnippet {
 
     // @ShowCode:showRenderertypesStart
     public Renderer render() {
         // それ自体は何もしない Renderer です。
         Renderer render = new GoThroughRenderer();
 
         // 該当 Element の子要素全てを置換します。
 
         ChildReplacer replacer = new ChildReplacer(createElement());
         render.add("ul#childreplacer"replacer);
 
         // 該当 Element を削除します。
         render.add("ul#clearnode");
 
         // レンダリング結果をデバッグ出力します。
         render.addDebugger("current element");
 
         return render;
     }
 
     // @ShowCode:showRenderertypesEnd
 
     // @ShowCode:showPassvariablesStart
     public Renderer outer() {
         // 文字列, 整数, Date型の値, List型の値を内部Snippetで使用するためにセットします。
         Renderer render = new GoThroughRenderer();
         render.add("div#inner""name""baz");
         render.add("div#inner""age""30");
         render.add("div#inner""currenttime"new Date());
 
         List<Stringlist = new ArrayList<>();
         list.add("This text is passed by outer snippet.(1)");
         list.add("This text is passed by outer snippet.(2)");
         list.add("This text is passed by outer snippet.(3)");
         render.add("div#inner""list"list);
         return render;
     }
 
     public Renderer inner(String nameint ageDate currenttimeList<Stringlist) {
         // 外部Snippetでセットされた値を変数から取得し、使用します。
         Renderer render = new GoThroughRenderer();
         render.add("p#name span"name);
         render.add("p#age span"age);
         render.add("p#currenttime span", DateFormatUtils.format(currenttime"yyyy/MM/dd HH:mm:ss"));
         render.add("ul#list li"list);
         return render;
     }
 
     // @ShowCode:showPassvariablesEnd
     // @ShowCode:showDynamicsnippetStart
     public Renderer createDynamicSnippet() {
         Renderer render = new GoThroughRenderer();
         Element snippet = new SnippetNode("SimpleSnippet");
         snippet.attr("name""Dynamic Snippet");
         render.add("div#snippet"snippet);
         Element embed = new EmbedNode("/templates/embed/embedded.html");
         render.add("div#embed"embed);
        return render;
    }
    // @ShowCode:showDynamicsnippetEnd
    // @ShowCode:showContextdataStart
    public Renderer changeName(@ContextData(name = "var"String changedName) {
        return Renderer.create("dd"changedName);
    }
        return Renderer.create("dd"var == null ? "" : var);
    }
    // @ShowCode:showContextdataEnd
    // @ShowCode:showLocalizeStart
    public Renderer setWeatherreportParam() {
        Renderer render = new GoThroughRenderer();
        Locale locale = Context.getCurrentThreadContext().getCurrentLocale();
        if (locale.equals(.) || locale.equals(.)) {
            render.add("afd|msg#weatherreport1""p0""晴れ");
        } else {
            render.add("afd|msg#weatherreport1""p0""sunny");
        }
        render.add("afd|msg#weatherreport2""p0""cloudy");
        render.add("afd|msg#weatherreport3""p0""rain");
        return render;
    }
    // @ShowCode:showLocalizeEnd
    // @ShowCode:showRenderertypesStart
    private Element createElement() {
        Element ul = new Element(Tag.valueOf("ul"), "");
        List<Nodelis = new ArrayList<>();
        lis.add(new Element(Tag.valueOf("li"), "").appendText("This text is created by snippet.(1)"));
        lis.add(new Element(Tag.valueOf("li"), "").appendText("This text is created by snippet.(2)"));
        lis.add(new Element(Tag.valueOf("li"), "").appendText("This text is created by snippet.(3)"));
        ElementUtil.appendNodes(ullis);
        return ul;
    }
    // @ShowCode:showRenderertypesEnd
New to GrepCode? Check out our FAQ X