/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You 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 org.apache.wicket.examples.compref; import java.util.Date; import org.apache.wicket.examples.WicketExamplePage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.model.StringResourceModel; /** * Page with examples on {@link org.apache.wicket.markup.html.basic.Label}. * * @author Eelco Hillenius */ public class LabelPage extends WicketExamplePage { /** * Constructor */ public LabelPage() { // add a static label add(new Label("staticLabel", "static text")); // add a dynamic label. For this example, we create an anonymous subclass // of IModel that returns a new java.util.Date on each invocation add(new Label("dynamicLabel", Date::new)); // add a label with a model that gets its display text from a resource // bundle // (which is in this case LabelPage.properties) // We use key 'label.current.locale' and provide a the current locale // for // parameter substitution. StringResourceModel stringResourceModel = new StringResourceModel("label.current.locale", this).setParameters(getLocale()); add(new Label("resourceLabel", stringResourceModel)); // and here we add a label that contains markup. Normally, this markup // would be converted // to HTML escape characters so that e.g. a & really displays as that // literal char without // our browser trying to resolve it to an HTML entity. But it this case // we actually want // our browser to interpret it as real markup, so we set the // escapeModelString property // to false Label markupLabel = new Label("markupLabel", "now <i>that</i> is a pretty <b>bold</b> statement!"); markupLabel.setEscapeModelStrings(false); add(markupLabel); } /** * Override base method to provide an explanation */ @Override protected void explain() { String html = "<span wicket:id=\"markupLabel\" class=\"mark\">this text will be replaced</span>"; String code = "        Label markupLabel = new Label(\"markupLabel\", \"now <i>that</i> is a pretty <b>bold</b> statement!\");\n" + "        markupLabel.setEscapeModelStrings(false);\n" + "        add(markupLabel);"; add(new ExplainPanel(html, code)); } }