Hi,

What do you want to do with the markup ?
Maybe you don't need to bother with internals like MarkupStream for
something that may be solved much easier.


On Mon, Feb 11, 2013 at 10:01 AM, Michael Jaruska <michael.jaru...@gmail.com
> wrote:

> thanks, studied. but in my case not working. i don't know why, where is my
> mistake. try this code:
>
> markup - base page:
> <?xml version="1.0" encoding="UTF-8" ?>
> <html xmlns:wicket>
>     <head>
>         <title>my test page</title>
>         <meta http-equiv="Content-Type" content="text/html; charset=utf-8"
> />
>     </head>
>     <body>
>         <p>my test page</p>
>         <span wicket:id="myPanel">[my test panel]</span>
>     </body>
> </html>
>
> markup - my test panel:
> <?xml version="1.0" encoding="UTF-8" ?>
> <html xmlns:wicket>
> <wicket:panel>
>    <ul>
>       <li>
>         <a href="./mypage.html?cid=menu">**my item</a>
>       </li>
>    </ul>
> </wicket:panel>
>
> java - base page:
> public class PageBase extends WebPage{
>         public PageBase()
>         {
>                 //my panel
>                 this.add(new MyMenu("myPanel").**setRenderBodyOnly(true));
>         }
> }
>
> java - panel:
> ublic class MyMenu extends Panel{
>         public PanelMenu(String id)
>         {
>                 super(id);
>         }
>
>         protected void onRender(MarkupStream markupStream){
>                 while(markupStream.hasMore())
>                 {
>                         System.out.println(**markupStream.next());
>                 }
>         }
> }
>
>
> i expect on console printed whole html markup for panel, but nothing is
> displayed.
>
> any ideas please?
>
>
>
> On 10.2.2013 23:21, Sven Meier wrote:
>
>> See BorderBehavior#beforeRender(**Component) on how to iterate over the
>> markup.
>>
>> Sven
>>
>> On 02/10/2013 11:09 PM, Michael Jaruska wrote:
>>
>>> my quick test:
>>> @Override
>>> protected void onRender()
>>> {
>>>     super.onRender();
>>>     System.out.println(this.**getMarkup().toString());
>>> }
>>>
>>> get me just top-level tag in my panel, subtags isn't shown. how to get
>>> whole
>>> markup for my panel?
>>>
>>>
>>> On 10.2.2013 22:38, Sven Meier wrote:
>>>
>>>> Sure, with #getMarkup() you can get hold of the component's markup.
>>>> With a MarkupStream you can iterate over it.
>>>>
>>>> Sven
>>>>
>>>> On 02/10/2013 10:23 PM, Michael Jaruska wrote:
>>>>
>>>>> again with my question: is it possible to get markup in onRender() of
>>>>> the component?
>>>>> have found this article:
>>>>> https://cwiki.apache.org/**WICKET/component-rendering.**html<https://cwiki.apache.org/WICKET/component-rendering.html>
>>>>> but in onRender() section is just code snippet I'm not understand. is
>>>>> there more
>>>>> detailed example how to get markup of the component in onRender()?
>>>>>
>>>>> thanks, michael
>>>>>
>>>>>
>>>>>
>>>>> On 23.1.2013 22:47, Martin Grigorov wrote:
>>>>>
>>>>>> You can use IMarkupFilter to manipulate the raw markup before being
>>>>>> loaded
>>>>>> and used by the components.
>>>>>> See the implementations in Wicket to see what can be done with such
>>>>>> filter.
>>>>>>
>>>>>>
>>>>>> On Wed, Jan 23, 2013 at 11:11 PM, Michael Jaruska <
>>>>>> michael.jaru...@gmail.com
>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>
>>>>>>  Look at my original post. User clicks on <a
>>>>>>> href="./mypage.html?cid=menu/*
>>>>>>> *submenu/subsubmenu2">****subsubmenu2</a>, then
>>>>>>> I have in String "category" (java code) value
>>>>>>> "menu/submenu/subsubmenu2".
>>>>>>> I need just to make 2 more steps:
>>>>>>> 1. in html code find anchor tag with href "menu/submenu/subsubmenu2";
>>>>>>> 2. find <li> tag which is parent of the anchor from point 1;
>>>>>>>
>>>>>>> When I have point 2 done, then I know how to put somethink into <li>
>>>>>>> tag...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 23.1.2013 21:21, Bas Gooren wrote:
>>>>>>>
>>>>>>>  Ok, so you are indeed looking for a way to change a html attribute
>>>>>>>> ;-)
>>>>>>>>
>>>>>>>> Since you wrote (in your folluw-up e-mail) that you cannot generate
>>>>>>>> the
>>>>>>>> html, there are some ways, but they mostly work outside of the
>>>>>>>> normal
>>>>>>>> wicket way.
>>>>>>>>
>>>>>>>> 1) In the component which actually renders your static html override
>>>>>>>> onComponentTagBody and fiddle with the markup stream (e.g. look at
>>>>>>>> replaceComponentTagBody)
>>>>>>>>
>>>>>>>> 2) store the static html somewhere by itself, and create a custom
>>>>>>>> model.
>>>>>>>> The model can then load the html and perform string replacement.
>>>>>>>> You can then add a label component which uses the model and has
>>>>>>>> setEscapeModelStrings(false) set.
>>>>>>>>
>>>>>>>> Met vriendelijke groet,
>>>>>>>> Kind regards,
>>>>>>>>
>>>>>>>> Bas Gooren
>>>>>>>>
>>>>>>>> Op 23-1-2013 21:11, schreef Michael Jaruska:
>>>>>>>>
>>>>>>>>  I need to find the parent <li> tag of the anchor user clicks - I
>>>>>>>>> now
>>>>>>>>> from PageParameters which anchor
>>>>>>>>> has been clicked. Then I will put into this parent <li> specific
>>>>>>>>> atribute (id="something"). This attribute
>>>>>>>>> will be then processed by JavaScript on the page.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 23.1.2013 21:04, Bas Gooren wrote:
>>>>>>>>>
>>>>>>>>>  Sorry, I read too quickly.
>>>>>>>>>>
>>>>>>>>>> What are you trying to accomplish? Let's say you are able to find
>>>>>>>>>> the
>>>>>>>>>> appropriate html tag, what do you want to do with it?
>>>>>>>>>>
>>>>>>>>>> Met vriendelijke groet,
>>>>>>>>>> Kind regards,
>>>>>>>>>>
>>>>>>>>>> Bas Gooren
>>>>>>>>>>
>>>>>>>>>> Op 23-1-2013 21:01, schreef Michael Jaruska:
>>>>>>>>>>
>>>>>>>>>>  And question is not "how can I change html attribute" but "how
>>>>>>>>>>> can I
>>>>>>>>>>> go through html structure" and
>>>>>>>>>>> find html tag with specific attribute :-)
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On 23.1.2013 20:50, Bas Gooren wrote:
>>>>>>>>>>>
>>>>>>>>>>>  Hi!
>>>>>>>>>>>>
>>>>>>>>>>>> What you want to accomplish (e.g. changing some html
>>>>>>>>>>>> attributes) can
>>>>>>>>>>>> be done by adding an attributemodifier to each <li> component.
>>>>>>>>>>>>
>>>>>>>>>>>> In pseudocode:
>>>>>>>>>>>>
>>>>>>>>>>>> RepeatingView uls = ...
>>>>>>>>>>>> for_every_li:
>>>>>>>>>>>> WebMarkupContainer li = ...
>>>>>>>>>>>> uls.add(li);
>>>>>>>>>>>>
>>>>>>>>>>>> now, you can do something like this:
>>>>>>>>>>>> li.add(new AttributeAppender(...) {
>>>>>>>>>>>>       isEnabled() {
>>>>>>>>>>>>           return true if you want to append a html attribute;
>>>>>>>>>>>>       }
>>>>>>>>>>>> });
>>>>>>>>>>>>
>>>>>>>>>>>> Or alternatively:
>>>>>>>>>>>>
>>>>>>>>>>>> WebMarkupContainer li = new WMC() {
>>>>>>>>>>>>       onComponentTag(ComponentTag tag) {
>>>>>>>>>>>>           super(tag);
>>>>>>>>>>>>
>>>>>>>>>>>>           tag.put("my-html-attribute", value);
>>>>>>>>>>>>       }
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> Met vriendelijke groet,
>>>>>>>>>>>> Kind regards,
>>>>>>>>>>>>
>>>>>>>>>>>> Bas Gooren
>>>>>>>>>>>>
>>>>>>>>>>>> Op 23-1-2013 20:45, schreef Michael Jaruska:
>>>>>>>>>>>>
>>>>>>>>>>>>  Hi,
>>>>>>>>>>>>>
>>>>>>>>>>>>> is there a way I can find specific html tag in markup?
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have this html structure:
>>>>>>>>>>>>> <ul class="mymenu">
>>>>>>>>>>>>>    <li>
>>>>>>>>>>>>>      <a href="./mypage.html?cid=menu">****menu</a>
>>>>>>>>>>>>>    <ul>
>>>>>>>>>>>>>      <li>
>>>>>>>>>>>>>        <a href="./mypage.html?cid=menu/***
>>>>>>>>>>>>> *submenu">submenu</a>
>>>>>>>>>>>>>      <ul>
>>>>>>>>>>>>>        <li>
>>>>>>>>>>>>>          <a href="./mypage.html?cid=menu/***
>>>>>>>>>>>>> *submenu/subsubmenu1">**
>>>>>>>>>>>>> subsubmenu1</a>
>>>>>>>>>>>>>        </li>
>>>>>>>>>>>>>        <li>
>>>>>>>>>>>>>          <a href="./mypage.html?cid=menu/***
>>>>>>>>>>>>> *submenu/subsubmenu2">**
>>>>>>>>>>>>> subsubmenu2</a>
>>>>>>>>>>>>>        </li>
>>>>>>>>>>>>>        <li>
>>>>>>>>>>>>>          <a href="./mypage.html?cid=menu/***
>>>>>>>>>>>>> *submenu/subsubmenu3">**
>>>>>>>>>>>>> subsubmenu3</a>
>>>>>>>>>>>>>        </li>
>>>>>>>>>>>>>      </ul>
>>>>>>>>>>>>>    </ul>
>>>>>>>>>>>>> </ul>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I'm processing clicks on anchors with my page:
>>>>>>>>>>>>> public PageTest(PageParameters parameters){
>>>>>>>>>>>>>    //cid = category id
>>>>>>>>>>>>>    String category = parameters.get("cid").****toString();
>>>>>>>>>>>>>    ...
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> Now I need some way I can add atribute into parent <li> tag of
>>>>>>>>>>>>> <a>
>>>>>>>>>>>>> tag on which I do click.
>>>>>>>>>>>>> Somethink like (pseudocode):
>>>>>>>>>>>>> public PageTest(PageParameters parameters){
>>>>>>>>>>>>>    //cid = category id
>>>>>>>>>>>>>    String category = parameters.get("cid").****toString();
>>>>>>>>>>>>>    //find corresponding <a> tag
>>>>>>>>>>>>>    Tag anchorTag = go_from_top_ul_tag_and_find_a_****
>>>>>>>>>>>>> tag_by_category(category)
>>>>>>>>>>>>>    //have corresponding anchor tag, get parrent tag of the
>>>>>>>>>>>>> anchor tag
>>>>>>>>>>>>>    Tag anchorParentTag = anchorTag.getParent();
>>>>>>>>>>>>>    //and now I can do my mysterious things with menu...
>>>>>>>>>>>>> }
>>>>>>>>>>>>>
>>>>>>>>>>>>> But I don't know where to start my search and I totaly don't
>>>>>>>>>>>>> know
>>>>>>>>>>>>> whot to look for in docu.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Please, help :-)
>>>>>>>>>>>>>
>>>>>>>>>>>>> ------------------------------****----------------------------
>>>>>>>>>>>>> **--**
>>>>>>>>>>>>> ---------
>>>>>>>>>>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.**apa**
>>>>>>>>>>>>> che.org <http://apache.org><users-unsubscribe@**
>>>>>>>>>>>>> wicket.apache.org <users-unsubscr...@wicket.apache.org>>
>>>>>>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  ------------------------------****----------------------------
>>>>>>>>>>> **--**
>>>>>>>>>>> ---------
>>>>>>>>>>> To unsubscribe, e-mail: 
>>>>>>>>>>> users-unsubscribe@wicket.**apa**che.org<http://apache.org>
>>>>>>>>>>> <users-unsubscribe@**wicket.apache.org<users-unsubscr...@wicket.apache.org>
>>>>>>>>>>> >
>>>>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  ------------------------------****----------------------------**
>>>>>>>>> --**
>>>>>>>>> ---------
>>>>>>>>> To unsubscribe, e-mail: 
>>>>>>>>> users-unsubscribe@wicket.**apa**che.org<http://apache.org>
>>>>>>>>> <users-unsubscribe@**wicket.apache.org<users-unsubscr...@wicket.apache.org>
>>>>>>>>> >
>>>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>  ------------------------------****----------------------------**
>>>>>>> --**---------
>>>>>>> To unsubscribe, e-mail: 
>>>>>>> users-unsubscribe@wicket.**apa**che.org<http://apache.org>
>>>>>>> <users-unsubscribe@**wicket.apache.org<users-unsubscr...@wicket.apache.org>
>>>>>>> >
>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>> ------------------------------**------------------------------**
>>>>> ---------
>>>>> To unsubscribe, e-mail: 
>>>>> users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org>
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>
>>>> ------------------------------**------------------------------**
>>>> ---------
>>>> To unsubscribe, e-mail: 
>>>> users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org>
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>> ------------------------------**------------------------------**
>>> ---------
>>> To unsubscribe, e-mail: 
>>> users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org>
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ------------------------------**------------------------------**---------
>> To unsubscribe, e-mail: 
>> users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org>
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org>
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>

Reply via email to